Merge branch 'main' into remove-get_valid_export_item_pks-1864

This commit is contained in:
Matt Hegarty 2025-09-24 13:24:31 +01:00 committed by GitHub
commit 01b0ed0e2c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
61 changed files with 2128 additions and 1316 deletions

View File

@ -1,24 +1,24 @@
repos: repos:
- repo: https://github.com/adamchainz/django-upgrade - repo: https://github.com/adamchainz/django-upgrade
rev: 1.22.2 rev: 1.28.0
hooks: hooks:
- id: django-upgrade - id: django-upgrade
args: [--target-version, "4.2"] args: [--target-version, "4.2"]
- repo: https://github.com/asottile/pyupgrade - repo: https://github.com/asottile/pyupgrade
rev: v3.19.1 rev: v3.20.0
hooks: hooks:
- id: pyupgrade - id: pyupgrade
args: [--py38-plus] args: [--py39-plus]
- repo: https://github.com/psf/black-pre-commit-mirror - repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.1.0 rev: 25.1.0
hooks: hooks:
- id: black - id: black
- repo: https://github.com/PyCQA/isort - repo: https://github.com/PyCQA/isort
rev: 6.0.0 rev: 6.0.1
hooks: hooks:
- id: isort - id: isort
- repo: https://github.com/PyCQA/flake8 - repo: https://github.com/PyCQA/flake8
rev: 7.1.1 rev: 7.3.0
hooks: hooks:
- id: flake8 - id: flake8
additional_dependencies: additional_dependencies:

View File

@ -3,7 +3,7 @@ version: 2
build: build:
os: "ubuntu-22.04" os: "ubuntu-22.04"
tools: tools:
python: "3.11" python: "3.12"
sphinx: sphinx:
configuration: docs/conf.py configuration: docs/conf.py

View File

@ -122,7 +122,7 @@ The following is a list of much appreciated contributors:
* josx (José Luis Di Biase) * josx (José Luis Di Biase)
* Jan Rydzewski * Jan Rydzewski
* rpsands (Ryan P. Sands) * rpsands (Ryan P. Sands)
* 2ykwang (Yeongkwang Yang) * 2ykwang (Youngkwang Yang)
* KamilRizatdinov (Kamil Rizatdinov) * KamilRizatdinov (Kamil Rizatdinov)
* Mark Walker * Mark Walker
* shimakaze-git * shimakaze-git
@ -159,3 +159,8 @@ The following is a list of much appreciated contributors:
* AyushDharDubey * AyushDharDubey
* dahvo (David Mark Awad) * dahvo (David Mark Awad)
* jurrian * jurrian
* merwok
* rodolvbg (Rodolfo Becerra)
* Andy Zickler
* kuldeepkhatke (Kuldeep Khatke)
* siddharth1012 (Siddharth Saraswat)

View File

@ -31,7 +31,7 @@ testp: ## run tests in parallel with the default Python
$(RUN_TEST_COMMAND) --parallel $(RUN_TEST_COMMAND) --parallel
messages: ## generate locale file translations messages: ## generate locale file translations
cd import_export && django-admin makemessages -a && django-admin compilemessages && cd .. cd import_export && django-admin makemessages --add-location=file -a && django-admin compilemessages && cd ..
coverage: ## generates codecov report coverage: ## generates codecov report
coverage run tests/manage.py test core coverage run tests/manage.py test core

View File

@ -230,6 +230,17 @@ It is possible to disable this extra step by setting the :ref:`import_export_ski
those items which users should be permitted to export. those items which users should be permitted to export.
See :meth:`~import_export.admin.ExportMixin.get_export_queryset`. See :meth:`~import_export.admin.ExportMixin.get_export_queryset`.
Exporting large datasets
^^^^^^^^^^^^^^^^^^^^^^^^
If exporting large datasets via the :ref:`action<export_via_admin_action>` menu, you may see Django's
`SuspiciousOperation <https://docs.djangoproject.com/en/dev/ref/exceptions/#suspiciousoperation>`_ exception for
'TooManyFieldsSent'. This is a built-in Django protection against Denial of Service attacks.
If you need to be able to export larger datasets via the action menu you can use the
`DATA_UPLOAD_MAX_NUMBER_FIELDS <https://docs.djangoproject.com/en/dev/ref/settings/#data-upload-max-number-fields>`_
setting to increase or disable this check.
.. _export_from_model_change_form: .. _export_from_model_change_form:
Export from model instance change form Export from model instance change form
@ -293,7 +304,7 @@ Customize forms (for example see ``tests/core/forms.py``)::
Customize ``ModelAdmin`` (for example see ``tests/core/admin.py``):: Customize ``ModelAdmin`` (for example see ``tests/core/admin.py``)::
class CustomBookAdmin(ImportMixin, admin.ModelAdmin): class CustomBookAdmin(ImportMixin, admin.ModelAdmin):
resource_classes = [BookResource] resource_classes = [EBookResource]
import_form_class = CustomImportForm import_form_class = CustomImportForm
confirm_form_class = CustomConfirmImportForm confirm_form_class = CustomConfirmImportForm
@ -320,7 +331,7 @@ Add the following to ``CustomBookAdmin`` class (in ``tests/core/admin.py``)::
kwargs.update({"author": form.cleaned_data.get("author", None)}) kwargs.update({"author": form.cleaned_data.get("author", None)})
return kwargs return kwargs
Then add the following to ``CustomBookAdmin`` class (in ``tests/core/admin.py``):: Then add the following to ``EBookResource`` class (in ``tests/core/admin.py``)::
def after_init_instance(self, instance, new, row, **kwargs): def after_init_instance(self, instance, new, row, **kwargs):
if "author" in kwargs: if "author" in kwargs:

View File

@ -239,6 +239,75 @@ value changes::
* The ``original`` attribute will be null if :attr:`~import_export.options.ResourceOptions.skip_diff` is True. * The ``original`` attribute will be null if :attr:`~import_export.options.ResourceOptions.skip_diff` is True.
* The ``instance`` attribute will be null if :attr:`~import_export.options.ResourceOptions.store_instance` is False. * The ``instance`` attribute will be null if :attr:`~import_export.options.ResourceOptions.store_instance` is False.
.. _using_modelresource_factory:
Using modelresource_factory
==========================
The :func:`~import_export.resources.modelresource_factory` function dynamically creates
``ModelResource`` classes for you. This is useful for creating resources without writing
custom classes.
Basic usage
-----------
Create a simple resource for export::
>>> from import_export import resources
>>> from core.models import Book
>>> BookResource = resources.modelresource_factory(
... model=Book,
... meta_options={'fields': ('id', 'name', 'author')}
... )
>>>
>>> # Export data
>>> dataset = BookResource().export()
>>> print(dataset.csv)
id,name,author
1,Some book,1
Import data with custom configuration::
>>> from import_export import resources
>>> from core.models import Book
>>> # Create a resource for import with specific fields
>>> ImportResource = resources.modelresource_factory(
... model=Book,
... meta_options={
... 'fields': ('name', 'author_email'),
... 'import_id_fields': ('name',)
... }
... )
>>>
>>> # Import data
>>> dataset = tablib.Dataset(['New Book', 'author@example.com'], headers=['name', 'author_email'])
>>> result = ImportResource().import_data(dataset)
>>> print(result.has_errors())
False
Adding custom fields
-------------------
You can add custom fields and dehydrate methods::
>>> from import_export import resources, fields
>>> from core.models import Book
>>> BookResource = resources.modelresource_factory(
... model=Book,
... meta_options={'fields': ('id', 'name', 'custom_title')},
... custom_fields={
... 'custom_title': fields.Field(column_name='Custom Title', readonly=True)
... },
... dehydrate_methods={
... 'custom_title': lambda obj: f"{obj.name} by {obj.author.name if obj.author else 'Unknown'}"
... }
... )
>>>
>>> dataset = BookResource().export()
>>> print(dataset.csv)
id,name,custom_title
1,Some book,Some book by Author Name
Validation during import Validation during import
======================== ========================
@ -784,7 +853,45 @@ See :ref:`dynamically_set_resource_values`.
Data manipulation on export Data manipulation on export
=========================== ===========================
Accessing fields within ``JSONField`` or ``JSONObject``
-------------------------------------------------------
In the same way that it is possible to refer to the relationships of the model by defining a field with double underscore ``__``
syntax, values within ``JSONObject``/ ``JSONField`` can also be accessed but in this case it is necessary to specify it in ``attribute``::
from import_export.fields import Field
class BookResource(resources.ModelResource):
author_name = Field(attribute="author_json__name")
author_birthday = Field(attribute="author_json__birthday")
class Meta:
model = Book
fields = ("author_name", "author_birthday",)
In this case, the export looks like this:
>>> from app.admin import BookResource
>>> from app.models import Book as B
>>> queryset = EBook.objects.annotate(
author_json=JSONObject(
name=("author__name"),
birthday=("author__birthday"),
)
)
>>> queryset.first().author_json
{'name': 'Some Author', 'birthday': '1970-01-01'}
>>> dataset = BookResource().export(queryset=queryset)
>>> dataset.csv
author_name,author_birthday
Some Author,1970-01-01
.. note::
Remember that the types that are annotated/stored within these fields are primitive JSON
data types (strings, numbers, boolean, null) and also composite JSON data types (array and object).
That is why, in the example, the birthday field within the author_json dictionary is displayed as a string.
Using dehydrate methods
-----------------------
Not all data can be easily extracted from an object/model attribute. Not all data can be easily extracted from an object/model attribute.
In order to turn complicated data model into a (generally simpler) processed In order to turn complicated data model into a (generally simpler) processed
data structure on export, ``dehydrate_<fieldname>`` method should be defined:: data structure on export, ``dehydrate_<fieldname>`` method should be defined::

View File

@ -5,15 +5,38 @@ Changelog
If upgrading from v3, v4 introduces breaking changes. Please refer to :doc:`release notes<release_notes>`. If upgrading from v3, v4 introduces breaking changes. Please refer to :doc:`release notes<release_notes>`.
5.0.0 (unreleased) 5.0.0 (unreleased)
------------------ ------------------
- Removed the deprecated :meth:`~import_export.admin.ExportMixin.get_valid_export_item_pks` method in favour of :meth:`~import_export.admin.ExportMixin.get_queryset` - Removed the deprecated :meth:`~import_export.admin.ExportMixin.get_valid_export_item_pks` method in favour of :meth:`~import_export.admin.ExportMixin.get_queryset`
4.3.6 (unreleased) 4.3.9 (2025-07-21)
------------------
- Allow specifying meta options in the :ref:`model_resourcefactory<using_modelresource_factory>` (`2078 <https://github.com/django-import-export/django-import-export/pull/2078>`_)
- Allow custom fields and methods in :ref:`model_resourcefactory<using_modelresource_factory>` (`2081 <https://github.com/django-import-export/django-import-export/pull/2081>`_)
- FAQ update to describe how to customize Excel exports (`2088 <https://github.com/django-import-export/django-import-export/pull/2088>`_)
4.3.8 (2025-06-23)
------------------
- ui: fix error display twice issue on export field select page (`2066 <https://github.com/django-import-export/django-import-export/pull/2066>`_)
- ui: add 'select all' fields toggle on export page (`2068 <https://github.com/django-import-export/django-import-export/pull/2068>`_)
- Add Hebrew translation (`2071 <https://github.com/django-import-export/django-import-export/pull/2071>`_)
- ui: fix display of non field errors on import (`2075 <https://github.com/django-import-export/django-import-export/pull/2075>`_)
4.3.7 (2025-02-25)
------------------
- Update French translation (`2042 <https://github.com/django-import-export/django-import-export/pull/2042>`_)
4.3.6 (2025-02-21)
------------------ ------------------
- Add flag to ignore empty rows in XLSX import (`2028 <https://github.com/django-import-export/django-import-export/issues/2028>`_) - Add flag to ignore empty rows in XLSX import (`2028 <https://github.com/django-import-export/django-import-export/issues/2028>`_)
- Add support for Django 5.2 (`2037 <https://github.com/django-import-export/django-import-export/pull/2037>`_)
- Fix Chinese translation (`2040 <https://github.com/django-import-export/django-import-export/issues/2040>`_)
4.3.5 (2025-02-01) 4.3.5 (2025-02-01)
------------------ ------------------

View File

@ -1,5 +1,6 @@
import os import os
import sys import sys
from datetime import datetime
from importlib.metadata import version from importlib.metadata import version
import django import django
@ -39,7 +40,8 @@ master_doc = "index"
# General information about the project. # General information about the project.
project = "django-import-export" project = "django-import-export"
copyright = "20122024, Bojan Mihelac and others." current_year = str(datetime.now().year)
copyright = f"2012{current_year}, Bojan Mihelac and others."
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the

View File

@ -165,7 +165,7 @@ Once you have cloned and checked out the repository, you can install a new devel
python -m venv django-import-export-venv python -m venv django-import-export-venv
source django-import-export-venv/bin/activate source django-import-export-venv/bin/activate
pip install .[tests] python -m pip install '.[tests]'
Run tests Run tests
^^^^^^^^^ ^^^^^^^^^
@ -179,7 +179,20 @@ Build documentation
To build a local version of the documentation:: To build a local version of the documentation::
pip install -r requirements/docs.txt python -m pip install -r requirements/docs.txt
make build-html-doc make build-html-doc
The documentation will be present in ``docs/_build/html/index.html``. The documentation will be present in ``docs/_build/html/index.html``.
Translation
^^^^^^^^^^^
When generating or updating translation files with makemessages, use the `make messages <https://github.com/django-import-export/django-import-export/blob/c84e661ca4f26787f86de56f4ed546315913faab/Makefile#L33>`_
command. This command adds the
`--add-location=file <https://docs.djangoproject.com/en/dev/ref/django-admin/#cmdoption-makemessages-add-location>`_
arg to include only the source file path, not line numbers.
This keeps .po files cleaner and avoids unnecessary version control churn when line numbers shift due to
unrelated code changes.
Translators can still trace strings back to their source using the file references.

View File

@ -156,11 +156,25 @@ Foreign key is null when importing
It is possible to reference model relations by defining a field with the double underscore syntax. For example:: It is possible to reference model relations by defining a field with the double underscore syntax. For example::
fields = ("author__name") class BookResource(ModelResource):
class Meta:
model = Book
fields = ("author__name",)
This means that during export, the relation will be followed and the referenced field will be added correctly to the This means that during export, the relation will be followed and the referenced field will be added correctly to the
export. export.
It works the same way when using ``attribute`` in ``Field``. For example::
class BookResource(ModelResource):
author_name = Field(attribute="author__name")
class Meta:
model = Book
fields = ("author_name",)
This does not work during import because the reference may not be enough to identify the correct relation instance. This does not work during import because the reference may not be enough to identify the correct relation instance.
:class:`~import_export.widgets.ForeignKeyWidget` should be used during import. See the documentation explaining :class:`~import_export.widgets.ForeignKeyWidget` should be used during import. See the documentation explaining
:ref:`advanced_usage:Foreign Key relations`. :ref:`advanced_usage:Foreign Key relations`.
@ -173,6 +187,14 @@ See the following responses on StackOverflow:
* https://stackoverflow.com/a/55046474/39296 * https://stackoverflow.com/a/55046474/39296
* https://stackoverflow.com/questions/74802453/export-only-the-data-registered-by-the-user-django-import-export * https://stackoverflow.com/questions/74802453/export-only-the-data-registered-by-the-user-django-import-export
How to customize Excel export data
----------------------------------
If you want more control over how export data is formatted when exporting to Excel you can write a custom format which
uses the `openpyxl API <https://openpyxl.readthedocs.io/en/stable/>`_.
See the example `here <https://github.com/django-import-export/django-import-export/issues/2085#issuecomment-3096872093>`_.
How to set export file encoding How to set export file encoding
------------------------------- -------------------------------

View File

@ -92,7 +92,8 @@ Let's import some data!
In the fourth line we use :func:`~import_export.resources.modelresource_factory` In the fourth line we use :func:`~import_export.resources.modelresource_factory`
to create a default :class:`~import_export.resources.ModelResource`. to create a default :class:`~import_export.resources.ModelResource`.
The ``ModelResource`` class created this way is equal to the one shown in the The ``ModelResource`` class created this way is equal to the one shown in the
example in section :ref:`base-modelresource`. example in section :ref:`base-modelresource`. For more advanced usage of this function,
see :ref:`using_modelresource_factory`.
In fifth line a :class:`~tablib.Dataset` with columns ``id`` and ``name``, and In fifth line a :class:`~tablib.Dataset` with columns ``id`` and ``name``, and
one book entry, are created. A field (or combination of fields) which uniquely identifies an instance always needs to one book entry, are created. A field (or combination of fields) which uniquely identifies an instance always needs to

View File

@ -184,6 +184,11 @@ A boolean value which will skip the :ref:`export form<admin_ui_exporting>` in th
requested from an :ref:`Admin UI action<export_via_admin_action>`, or from the 'Export' button on the requested from an :ref:`Admin UI action<export_via_admin_action>`, or from the 'Export' button on the
:ref:`change form <export_from_model_change_form>`. :ref:`change form <export_from_model_change_form>`.
See also :ref:`IMPORT_EXPORT_SKIP_ADMIN_EXPORT_UI`.
This flag can be enabled for the model admin using the
:attr:`~import_export.mixins.BaseExportMixin.skip_export_form_from_action` flag.
.. _import_export_escape_formulae_on_export: .. _import_export_escape_formulae_on_export:
``IMPORT_EXPORT_ESCAPE_FORMULAE_ON_EXPORT`` ``IMPORT_EXPORT_ESCAPE_FORMULAE_ON_EXPORT``

View File

@ -316,7 +316,7 @@ This section describes methods in which the parameters have changed.
* ``using_transactions`` param now in ``kwargs`` * ``using_transactions`` param now in ``kwargs``
* - ``save_instance(self, instance, is_create, using_transactions=True, dry_run=False)`` * - ``save_instance(self, instance, is_create, using_transactions=True, dry_run=False)``
- ``save_instance(self, instance, is_create, row, ***kwargs)`` - ``save_instance(self, instance, is_create, row, **kwargs)``
- * ``dry_run`` param now in ``kwargs`` - * ``dry_run`` param now in ``kwargs``
* ``using_transactions`` param now in ``kwargs`` * ``using_transactions`` param now in ``kwargs``
* ``row`` added as mandatory arg * ``row`` added as mandatory arg

View File

@ -233,16 +233,9 @@ class ImportMixin(BaseImportMixin, ImportExportMixinBase):
} }
content_type_id = ContentType.objects.get_for_model(self.model).pk content_type_id = ContentType.objects.get_for_model(self.model).pk
for row in result: for row in result:
if row.import_type in logentry_map.keys(): if row.import_type in logentry_map:
with warnings.catch_warnings(): with warnings.catch_warnings():
if django.VERSION >= (5,): cat = DeprecationWarning
from django.utils.deprecation import (
RemovedInDjango60Warning,
)
cat = RemovedInDjango60Warning
else:
cat = DeprecationWarning
warnings.simplefilter("ignore", category=cat) warnings.simplefilter("ignore", category=cat)
LogEntry.objects.log_action( LogEntry.objects.log_action(
user_id=request.user.pk, user_id=request.user.pk,
@ -497,7 +490,7 @@ class ImportMixin(BaseImportMixin, ImportExportMixinBase):
except Exception as e: except Exception as e:
self.add_data_read_fail_error_to_form(import_form, e) self.add_data_read_fail_error_to_form(import_form, e)
else: else:
if len(dataset) == 0: if not dataset:
import_form.add_error( import_form.add_error(
"import_file", "import_file",
_( _(
@ -584,9 +577,10 @@ class ImportMixin(BaseImportMixin, ImportExportMixinBase):
RowResult.IMPORT_TYPE_UPDATE: CHANGE, RowResult.IMPORT_TYPE_UPDATE: CHANGE,
RowResult.IMPORT_TYPE_DELETE: DELETION, RowResult.IMPORT_TYPE_DELETE: DELETION,
} }
missing = object()
for import_type, instances in rows.items(): for import_type, instances in rows.items():
if import_type in logentry_map.keys(): action_flag = logentry_map.get(import_type, missing)
action_flag = logentry_map[import_type] if action_flag is not missing:
self._create_log_entry( self._create_log_entry(
user_pk, rows[import_type], import_type, action_flag user_pk, rows[import_type], import_type, action_flag
) )

View File

@ -65,6 +65,8 @@ class DeclarativeMetaclass(type):
class ModelDeclarativeMetaclass(DeclarativeMetaclass): class ModelDeclarativeMetaclass(DeclarativeMetaclass):
def __new__(cls, name, bases, attrs): def __new__(cls, name, bases, attrs):
# Save the names of fields declared on this class
class_fields = {name for name, obj in attrs.items() if isinstance(obj, Field)}
new_class = super().__new__(cls, name, bases, attrs) new_class = super().__new__(cls, name, bases, attrs)
opts = new_class._meta opts = new_class._meta
@ -87,11 +89,14 @@ class ModelDeclarativeMetaclass(DeclarativeMetaclass):
and field_name not in opts.fields and field_name not in opts.fields
and column_name not in opts.fields and column_name not in opts.fields
): ):
warnings.warn( # #2017 warn only if the unlisted field is
f"ignoring field '{field_name}' because not declared " # part of the current class
"in 'fields' whitelist", if field_name in class_fields:
stacklevel=2, warnings.warn(
) f"{name}: ignoring field '{field_name}' because "
"not declared in 'fields' whitelist",
stacklevel=2,
)
continue continue
declared_fields[field_name] = field declared_fields[field_name] = field
@ -102,7 +107,7 @@ class ModelDeclarativeMetaclass(DeclarativeMetaclass):
if opts.exclude and f.name in opts.exclude: if opts.exclude and f.name in opts.exclude:
continue continue
if f.name in set(declared_fields.keys()): if f.name in declared_fields:
# If model field is declared in `ModelResource`, # If model field is declared in `ModelResource`,
# remove it from `declared_fields` # remove it from `declared_fields`
# to keep exact order of model fields # to keep exact order of model fields

View File

@ -99,13 +99,6 @@ class Field:
""" """
Returns the value of the instance's attribute. Returns the value of the instance's attribute.
""" """
# The objects of a queryset can be dictionaries if the values method is used.
if isinstance(instance, dict):
if self.attribute not in instance:
return None
return instance[self.attribute]
if self.attribute is None: if self.attribute is None:
return None return None
@ -114,8 +107,11 @@ class Field:
for attr in attrs: for attr in attrs:
try: try:
value = getattr(value, attr, None) if isinstance(value, dict):
except (ValueError, ObjectDoesNotExist): value = value[attr]
else:
value = getattr(value, attr, None)
except (ValueError, ObjectDoesNotExist, KeyError):
# needs to have a primary key value before a many-to-many # needs to have a primary key value before a many-to-many
# relationship can be used. # relationship can be used.
return None return None
@ -141,11 +137,10 @@ class Field:
if cleaned is not None or self.saves_null_values: if cleaned is not None or self.saves_null_values:
if not is_m2m: if not is_m2m:
setattr(instance, attrs[-1], cleaned) setattr(instance, attrs[-1], cleaned)
elif self.m2m_add:
getattr(instance, attrs[-1]).add(*cleaned)
else: else:
if self.m2m_add: getattr(instance, attrs[-1]).set(cleaned)
getattr(instance, attrs[-1]).add(*cleaned)
else:
getattr(instance, attrs[-1]).set(cleaned)
def export(self, instance, **kwargs): def export(self, instance, **kwargs):
""" """

View File

@ -1,7 +1,7 @@
import os.path import os.path
from collections.abc import Iterable
from copy import deepcopy from copy import deepcopy
from itertools import chain from itertools import chain
from typing import Iterable
from django import forms from django import forms
from django.conf import settings from django.conf import settings
@ -254,7 +254,7 @@ class SelectableFieldsExportForm(ExportForm):
return [ return [
field field
for field, value in self.cleaned_data.items() for field, value in self.cleaned_data.items()
if field in resource_fields and value is True if value is True and field in resource_fields
] ]
def _validate_any_field_selected(self, resource) -> None: def _validate_any_field_selected(self, resource) -> None:

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -19,103 +19,96 @@ msgstr ""
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "إستيراد" msgstr "إستيراد"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr ""
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "" msgstr ""
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "تصدير" msgstr "تصدير"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "تصدير %(verbose_name_plural)s المحددة" msgstr "تصدير %(verbose_name_plural)s المحددة"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "تنسيق" msgstr "تنسيق"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "ملف للإستيراد" msgstr "ملف للإستيراد"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "الرئيسية" msgstr "الرئيسية"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
msgstr[2] "" msgstr[2] ""
@ -123,19 +116,23 @@ msgstr[3] ""
msgstr[4] "" msgstr[4] ""
msgstr[5] "" msgstr[5] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "هذا المستورد سوف يستورد الحقول التالية : " msgstr "هذا المستورد سوف يستورد الحقول التالية : "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "إرسال" msgstr "إرسال"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -143,66 +140,65 @@ msgstr ""
"فيما يلي إستعراض للبيانات التي سيتم إستيرادها. إذا كنت راضيا عن النتائج, " "فيما يلي إستعراض للبيانات التي سيتم إستيرادها. إذا كنت راضيا عن النتائج, "
"انقر على 'تأكيد الإستيراد'" "انقر على 'تأكيد الإستيراد'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "تأكيد الإستيراد" msgstr "تأكيد الإستيراد"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "أخطاء" msgstr "أخطاء"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "رقم الصطر" msgstr "رقم الصطر"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "معاينة" msgstr "معاينة"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "جديد" msgstr "جديد"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "تجاهل" msgstr "تجاهل"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "حذف" msgstr "حذف"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "تحديث" msgstr "تحديث"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "هذا المستورد سوف يستورد الحقول التالية : " msgstr "هذا المستورد سوف يستورد الحقول التالية : "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Hristo Gatsinski <gatsinski@gmail.com>\n" "Last-Translator: Hristo Gatsinski <gatsinski@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,121 +18,118 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Импортиране" msgstr "Импортиране"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s чрез import_export" msgstr "%s чрез import_export"
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Импортирането е завършено, с {} нови и {} обновени {}." msgstr "Импортирането е завършено, с {} нови и {} обновени {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Експортиране" msgstr "Експортиране"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Експортиране на избраните %(verbose_name_plural)s" msgstr "Експортиране на избраните %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Формат" msgstr "Формат"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Файл за импортиране" msgstr "Файл за импортиране"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Начало" msgstr "Начало"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Ще бъдат импортирани следните полета: " msgstr "Ще бъдат импортирани следните полета: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Изпълни" msgstr "Изпълни"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -140,66 +137,65 @@ msgstr ""
"Отдолу виждате преглед на данните за импортиране. Ако сте доволни от " "Отдолу виждате преглед на данните за импортиране. Ако сте доволни от "
"резултата, изберете 'Потвърди импортирането'" "резултата, изберете 'Потвърди импортирането'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Потвърди импортирането" msgstr "Потвърди импортирането"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Грешки" msgstr "Грешки"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Номер на реда" msgstr "Номер на реда"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Преглед" msgstr "Преглед"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Нов" msgstr "Нов"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Пропуснат" msgstr "Пропуснат"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Изтрит" msgstr "Изтрит"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Обновен" msgstr "Обновен"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Ще бъдат импортирани следните полета: " msgstr "Ще бъдат импортирани следните полета: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,119 +18,116 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importar" msgstr "Importar"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr ""
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "" msgstr ""
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exportar" msgstr "Exportar"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Exportar %(verbose_name_plural)s seleccionats" msgstr "Exportar %(verbose_name_plural)s seleccionats"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Format" msgstr "Format"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Arxiu a importar" msgstr "Arxiu a importar"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Inici" msgstr "Inici"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Aquest importador importarà els següents camps: " msgstr "Aquest importador importarà els següents camps: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Enviar" msgstr "Enviar"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -138,66 +135,65 @@ msgstr ""
"A continuació podeu veure una vista prèvia de les dades que s'importaran. Si " "A continuació podeu veure una vista prèvia de les dades que s'importaran. Si "
"esteu satisfets amb els resultats, premeu 'Confirmar importació'" "esteu satisfets amb els resultats, premeu 'Confirmar importació'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Confirmar importació" msgstr "Confirmar importació"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Errors" msgstr "Errors"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Número de línia" msgstr "Número de línia"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Vista prèvia" msgstr "Vista prèvia"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nou" msgstr "Nou"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Omès" msgstr "Omès"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Esborrar" msgstr "Esborrar"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Actualitzar" msgstr "Actualitzar"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Aquest importador importarà els següents camps: " msgstr "Aquest importador importarà els següents camps: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-09-19 09:06+0200\n"
"PO-Revision-Date: 2017-05-02 19:17+0200\n" "PO-Revision-Date: 2025-09-17 11:44+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: cs\n" "Language: cs\n"
@ -18,122 +18,120 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Poedit 2.0.1\n" "X-Generator: Poedit 2.0.1\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Import" msgstr "Import"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s skrz import_export" msgstr "%s skrz import_export"
#: admin.py:262 #: admin.py
#, fuzzy
#| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Import dokončen, {} nové a {} aktualizované {}." msgstr ""
"Import dokončen, {} nové, {} aktualizované, {} smazané a {} přeskočené {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
"Při načítání souboru se vyskytla chyba %(exc_name)s. Ujistěte se, že jste "
"zvolili správný formát souboru."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
"Žádná data pro import. Ujistěte se, že soubor má správné hlavičky a data pro "
"import."
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Export" msgstr "Export"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Vybrán export %(verbose_name_plural)s" msgstr "Vybrán export %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr "export selhal z důvodu výskytu neplatného znaku"
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr "Zdroj"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Formát" msgstr "Formát"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Soubor k importu" msgstr "Soubor k importu"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr "Formulář nebyl validován, nejdříve zavolejte `is_valid`"
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr "Zvolte alespoň 1 pole k exportu pro \"%(resource_name)s\""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr "Následující pole chybí v definovaných polích resource objektu: %s"
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr "Následující pole chybí v hlavičce zpracovávaného souboru: %s"
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr "konverze na text selhala: %s"
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Domů" msgstr "Domů"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n" msgstr[0] "Exportovat %(len)s vybranou položku."
" " msgstr[1] "Exportovat %(len)s vybrané položky."
msgid_plural "" msgstr[2] "Exportovat %(len)s vybraných položek."
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy
#| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Budou importována následující pole: " msgstr "Budou exportována následující pole: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr "Vybrat vše"
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Odeslat" msgstr "Odeslat"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -141,68 +139,66 @@ msgstr ""
"Níže je zobrazen náhled importovaných dat. Pokud je vše v pořádku, stiskněte " "Níže je zobrazen náhled importovaných dat. Pokud je vše v pořádku, stiskněte "
"tlačítko „Provést import”" "tlačítko „Provést import”"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Provést import" msgstr "Provést import"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Chyby" msgstr "Chyby"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Číslo řádku" msgstr "Číslo řádku"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr "Některé řádky nejsou platné"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
"Opravte následující chyby ve vašich datech, pak znovu nahrajte soubor do "
"formuláře."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr "Řádek"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr "Obecné chyby řadku"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Náhled" msgstr "Náhled"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nové" msgstr "Nové"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Přeskočené" msgstr "Přeskočené"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Smazání" msgstr "Smazání"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Aktualizace" msgstr "Aktualizace"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Budou importována následující pole: " msgstr "Budou importována následující pole: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr "Hodnotu nelze načíst"
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr "use_natural_foreign_keys a key_is_id nemůžou být oba True"
#~ msgid "You must select an export format."
#~ msgstr "Musíte vybrat formát pro export."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-01 13:15+0100\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2022-10-17 17:42+0200\n" "PO-Revision-Date: 2022-10-17 17:42+0200\n"
"Last-Translator: Jannes Blobel <jannes.blobel@inlang.com>\n" "Last-Translator: Jannes Blobel <jannes.blobel@inlang.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -16,24 +16,23 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.1.1\n" "X-Generator: Poedit 3.1.1\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importieren" msgstr "Importieren"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s durch import_export" msgstr "%s durch import_export"
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "" msgstr ""
"Import fertiggestellt: {} neue, {} aktualisierte, {} gelöschte und {} " "Import fertiggestellt: {} neue, {} aktualisierte, {} gelöschte und {} "
"übersprungene {}." "übersprungene {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
@ -42,7 +41,7 @@ msgstr ""
"%(exc_name)s trat auf, beim Versuch, die Datei zu lesen. Stelle sicher, dass " "%(exc_name)s trat auf, beim Versuch, die Datei zu lesen. Stelle sicher, dass "
"du das richtige Format für die Datei gewählt hast." "du das richtige Format für die Datei gewählt hast."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
@ -50,43 +49,43 @@ msgstr ""
"Keine gültigen Daten für den Import. Stelle sicher, dass deine Datei die " "Keine gültigen Daten für den Import. Stelle sicher, dass deine Datei die "
"korrektenKopfzeilen und Daten für den Import hat." "korrektenKopfzeilen und Daten für den Import hat."
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exportieren" msgstr "Exportieren"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Ausgewählte %(verbose_name_plural)s exportieren" msgstr "Ausgewählte %(verbose_name_plural)s exportieren"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "Export schlug fehl wegen IllegalCharacterError" msgstr "Export schlug fehl wegen IllegalCharacterError"
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "Ressource" msgstr "Ressource"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Dateiformat" msgstr "Dateiformat"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Zu importierende Datei" msgstr "Zu importierende Datei"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "Formular ist nicht validiert, führe zuerst `is_valid` aus" msgstr "Formular ist nicht validiert, führe zuerst `is_valid` aus"
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "Wähle mindestens 1 Feld für \"%(resource_name)s\" zum Exportieren aus" msgstr "Wähle mindestens 1 Feld für \"%(resource_name)s\" zum Exportieren aus"
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
@ -95,7 +94,7 @@ msgstr ""
"Die folgenden Felder sind in 'import_id_fields' deklariert, sind aber keine " "Die folgenden Felder sind in 'import_id_fields' deklariert, sind aber keine "
"Felder der Ressource: %s" "Felder der Ressource: %s"
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
@ -104,45 +103,37 @@ msgstr ""
"Die folgenden Felder sind in 'import_id_fields' deklariert, aber nicht in " "Die folgenden Felder sind in 'import_id_fields' deklariert, aber nicht in "
"der Kopfzeile der Datei vorhanden: %s" "der Kopfzeile der Datei vorhanden: %s"
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "Aufruf von force_str() in der Instanz schlug fehl: %s" msgstr "Aufruf von force_str() in der Instanz schlug fehl: %s"
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Start" msgstr "Start"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n" msgstr[0] "Exportiere %(len)s ausgewähltes Element."
" " msgstr[1] "Exportiere %(len)s ausgewählte Elemente."
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] ""
"\n"
" Exportiere %(len)s ausgewähltes Element.\n"
" "
msgstr[1] ""
"\n"
" Exportiere %(len)s ausgewählte Elemente.\n"
" "
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Es werden die folgenden Felder exportiert: " msgstr "Es werden die folgenden Felder exportiert: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Absenden" msgstr "Absenden"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -150,24 +141,23 @@ msgstr ""
"Unten befindet sich eine Vorschau der zu importierenden Daten. Wenn die " "Unten befindet sich eine Vorschau der zu importierenden Daten. Wenn die "
"Ergebnisse zufriedenstellend sind, klicke auf \"Import bestätigen\"." "Ergebnisse zufriedenstellend sind, klicke auf \"Import bestätigen\"."
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Import bestätigen" msgstr "Import bestätigen"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Fehler" msgstr "Fehler"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Zeilennummer" msgstr "Zeilennummer"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Die Validierung einiger Zeilen schlug fehl" msgstr "Die Validierung einiger Zeilen schlug fehl"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -175,42 +165,42 @@ msgstr ""
"Bitte korrigiere falls möglich diese Fehler in deiner Datei und lade sie " "Bitte korrigiere falls möglich diese Fehler in deiner Datei und lade sie "
"anschließend erneut mit dem obigen Formular hoch." "anschließend erneut mit dem obigen Formular hoch."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Zeile" msgstr "Zeile"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "Nicht feldspezifisch" msgstr "Nicht feldspezifisch"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Vorschau" msgstr "Vorschau"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Neu" msgstr "Neu"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Übersprungen" msgstr "Übersprungen"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Ändern" msgstr "Ändern"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Es werden die folgenden Felder importiert: " msgstr "Es werden die folgenden Felder importiert: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "Wert konnte nicht eingelesen werden." msgstr "Wert konnte nicht eingelesen werden."
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "use_natural_foreign_keys und key_is_id können nicht beide True sein" msgstr "use_natural_foreign_keys und key_is_id können nicht beide True sein"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2023-09-22 11:53-0300\n" "PO-Revision-Date: 2023-09-22 11:53-0300\n"
"Last-Translator: Santiago Muñoz <smunoz@mythologylabs.com.uy>\n" "Last-Translator: Santiago Muñoz <smunoz@mythologylabs.com.uy>\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
@ -19,24 +19,23 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importar" msgstr "Importar"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr ""
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Proceso de importación finalizado, con {} nuevos y {} actualizados" msgstr "Proceso de importación finalizado, con {} nuevos y {} actualizados"
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
@ -45,97 +44,95 @@ msgstr ""
"Se encontró %(exc_name)s mientras se intentaba leer el archivo. Asegúrese " "Se encontró %(exc_name)s mientras se intentaba leer el archivo. Asegúrese "
"que seleccionó el formato correcto para el archivo." "que seleccionó el formato correcto para el archivo."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exportar" msgstr "Exportar"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Exportar %(verbose_name_plural)s seleccionados" msgstr "Exportar %(verbose_name_plural)s seleccionados"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "Recurso" msgstr "Recurso"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Formato" msgstr "Formato"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Fichero a importar" msgstr "Fichero a importar"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Inicio" msgstr "Inicio"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Este importador importará los siguientes campos:" msgstr "Este importador importará los siguientes campos:"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Enviar" msgstr "Enviar"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -143,24 +140,23 @@ msgstr ""
"A continuación se muestra una vista previa de los datos a importar. Si estás " "A continuación se muestra una vista previa de los datos a importar. Si estás "
"satisfecho con los resultados, haz clic en 'Confirmar importación'" "satisfecho con los resultados, haz clic en 'Confirmar importación'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Confirmar importación" msgstr "Confirmar importación"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Errores" msgstr "Errores"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Número de línea" msgstr "Número de línea"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Falló la validación de algunas filas" msgstr "Falló la validación de algunas filas"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -169,43 +165,43 @@ msgstr ""
"sea posible, luego vuelva a subir el archivo utilizando el formulario de la " "sea posible, luego vuelva a subir el archivo utilizando el formulario de la "
"parte superior." "parte superior."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Fila" msgstr "Fila"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "No específico del campo" msgstr "No específico del campo"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Vista previa" msgstr "Vista previa"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nuevo" msgstr "Nuevo"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Omitido" msgstr "Omitido"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Borrar" msgstr "Borrar"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Actualizar" msgstr "Actualizar"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Este importador importará los siguientes campos:" msgstr "Este importador importará los siguientes campos:"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2023-09-22 11:53-0300\n" "PO-Revision-Date: 2023-09-22 11:53-0300\n"
"Last-Translator: Santiago Muñoz <smunoz@mythologylabs.com.uy>\n" "Last-Translator: Santiago Muñoz <smunoz@mythologylabs.com.uy>\n"
"Language-Team: Spanish (Argentina)\n" "Language-Team: Spanish (Argentina)\n"
@ -19,24 +19,23 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.6.10\n" "X-Generator: Poedit 1.6.10\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importar" msgstr "Importar"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr ""
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Proceso de importación finalizado, con {} nuevos y {} actualizados" msgstr "Proceso de importación finalizado, con {} nuevos y {} actualizados"
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
@ -45,97 +44,95 @@ msgstr ""
"Se encontró %(exc_name)s mientras se intentaba leer el archivo. Asegúrese " "Se encontró %(exc_name)s mientras se intentaba leer el archivo. Asegúrese "
"que seleccionó el formato correcto para el archivo." "que seleccionó el formato correcto para el archivo."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exportar" msgstr "Exportar"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Exportar %(verbose_name_plural)s seleccionados" msgstr "Exportar %(verbose_name_plural)s seleccionados"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "Recurso" msgstr "Recurso"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Formato" msgstr "Formato"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Archivo a importar" msgstr "Archivo a importar"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Inicio" msgstr "Inicio"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Este importador importará los siguientes campos:" msgstr "Este importador importará los siguientes campos:"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Enviar" msgstr "Enviar"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -143,24 +140,23 @@ msgstr ""
"A continuación se muestra una vista previa de los datos a importar. Si está " "A continuación se muestra una vista previa de los datos a importar. Si está "
"satisfecho con los resultados, haga clic en 'Confirmar importación'" "satisfecho con los resultados, haga clic en 'Confirmar importación'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Confirmar importación" msgstr "Confirmar importación"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Errores" msgstr "Errores"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Número de línea" msgstr "Número de línea"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Falló la validación de algunas filas" msgstr "Falló la validación de algunas filas"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -169,43 +165,43 @@ msgstr ""
"sea posible, luego vuelva a subir el archivo utilizando el formulario de la " "sea posible, luego vuelva a subir el archivo utilizando el formulario de la "
"parte superior." "parte superior."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Fila" msgstr "Fila"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "No específico del campo" msgstr "No específico del campo"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Vista previa" msgstr "Vista previa"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nuevo" msgstr "Nuevo"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Omitido" msgstr "Omitido"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Borrar" msgstr "Borrar"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Actualizar" msgstr "Actualizar"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Este importador importará los siguientes campos:" msgstr "Este importador importará los siguientes campos:"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 0.0.1\n" "Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2021-03-09 00:29+0030\n" "PO-Revision-Date: 2021-03-09 00:29+0030\n"
"Last-Translator: MohammadReza Sadegh Zadeh <org.m.sdz@gmail.com>\n" "Last-Translator: MohammadReza Sadegh Zadeh <org.m.sdz@gmail.com>\n"
"Language-Team: Persain/Farsi <kde-i18n-it@kde.org>\n" "Language-Team: Persain/Farsi <kde-i18n-it@kde.org>\n"
@ -18,18 +18,17 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n" "X-Generator: Poedit 1.5.4\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "بارگذاری" msgstr "بارگذاری"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s با استفاده از ورودی-خروجی" msgstr "%s با استفاده از ورودی-خروجی"
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
@ -37,7 +36,7 @@ msgstr ""
"بارگذاری تمام شد، با {} مورد جدید، {} مورد به روز شده، {} مورد حذف شده و {} " "بارگذاری تمام شد، با {} مورد جدید، {} مورد به روز شده، {} مورد حذف شده و {} "
"مورد در شده." "مورد در شده."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
@ -46,49 +45,49 @@ msgstr ""
"در حال خواندن فایل، یک خطا رخ داده است. لطفا از فرمت مناسب برای فایل استفاده " "در حال خواندن فایل، یک خطا رخ داده است. لطفا از فرمت مناسب برای فایل استفاده "
"کنید. %(exc_name)s" "کنید. %(exc_name)s"
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "خروجی" msgstr "خروجی"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "خروجی %(verbose_name_plural)s انتخاب شده" msgstr "خروجی %(verbose_name_plural)s انتخاب شده"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "منبع" msgstr "منبع"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "فرمت" msgstr "فرمت"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "فایل برای بارگذاری" msgstr "فایل برای بارگذاری"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "فرم معتبر نیست، ابتدا `is_valid` را فراخوانی کنید" msgstr "فرم معتبر نیست، ابتدا `is_valid` را فراخوانی کنید"
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "حداقل یک فیلد را برای \"%(resource_name)s\" برای خروجی انتخاب کنید" msgstr "حداقل یک فیلد را برای \"%(resource_name)s\" برای خروجی انتخاب کنید"
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
@ -97,7 +96,7 @@ msgstr ""
"فیلد‌های زیر در 'import_id_fields' اعلام شده اند، اما در فیلد‌های منبع وجود " "فیلد‌های زیر در 'import_id_fields' اعلام شده اند، اما در فیلد‌های منبع وجود "
"ندارند: %s" "ندارند: %s"
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
@ -106,47 +105,39 @@ msgstr ""
"فیلد‌های زیر در 'import_id_fields' اعلام شده اند، اما در فیلد‌های منبع وجود " "فیلد‌های زیر در 'import_id_fields' اعلام شده اند، اما در فیلد‌های منبع وجود "
"ندارند: %s" "ندارند: %s"
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "فراخوانی به `force_str()` بر روی مورد نمونه با خطا رخ داده است: %s" msgstr "فراخوانی به `force_str()` بر روی مورد نمونه با خطا رخ داده است: %s"
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "خانه" msgstr "خانه"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n" msgstr[0] "خروجی %(len)s مورد انتخاب شده."
" " msgstr[1] "خروجی %(len)s مورد انتخاب شده."
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] ""
"\n"
" خروجی %(len)s مورد انتخاب شده.\n"
" "
msgstr[1] ""
"\n"
" خروجی %(len)s مورد انتخاب شده.\n"
" "
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "این خروجی شامل این فیلد‌ها هست:" msgstr "این خروجی شامل این فیلد‌ها هست:"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "ارسال" msgstr "ارسال"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -154,66 +145,65 @@ msgstr ""
"پایین یک پیش‌نمایش از دیتا‌هایی است که بارگذاری خواهند شد اگر این موارد درست " "پایین یک پیش‌نمایش از دیتا‌هایی است که بارگذاری خواهند شد اگر این موارد درست "
"هستند، روی 'تایید بارگذاری' کلیک کنید" "هستند، روی 'تایید بارگذاری' کلیک کنید"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "تایید بارگذاری" msgstr "تایید بارگذاری"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "خطاها" msgstr "خطاها"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "شماره خط" msgstr "شماره خط"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "برخی سطر‌ها معتبر نبودند" msgstr "برخی سطر‌ها معتبر نبودند"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "لطفا این خطا را تصحیح کنید و سپس مجدد فایل را بارگذاری کنید" msgstr "لطفا این خطا را تصحیح کنید و سپس مجدد فایل را بارگذاری کنید"
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "سطر" msgstr "سطر"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "فیلد‌های غیر اختصاصی" msgstr "فیلد‌های غیر اختصاصی"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "پیش‌نمایش" msgstr "پیش‌نمایش"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "جدید" msgstr "جدید"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "رد شده" msgstr "رد شده"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "حذف" msgstr "حذف"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "بروزرسانی" msgstr "بروزرسانی"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "این بارگذاری شامل این فیلد‌ها هست:" msgstr "این بارگذاری شامل این فیلد‌ها هست:"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "مقدار قابل تجزیه نبود." msgstr "مقدار قابل تجزیه نبود."
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2023-05-10 15:23+0300\n" "PO-Revision-Date: 2023-05-10 15:23+0300\n"
"Last-Translator: Lauri Virtanen <lauri.virtanen@iki.fi>\n" "Last-Translator: Lauri Virtanen <lauri.virtanen@iki.fi>\n"
"Language-Team: \n" "Language-Team: \n"
@ -12,24 +12,23 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Tuo" msgstr "Tuo"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s käyttäen import_export" msgstr "%s käyttäen import_export"
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Tuonti valmis. Lisätty {} ja päivitetty {} kohteita {}." msgstr "Tuonti valmis. Lisätty {} ja päivitetty {} kohteita {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
@ -38,95 +37,93 @@ msgstr ""
"Kohdattiin %(exc_name)s tiedostoa lukiessa. Varmista, että olet valinnut " "Kohdattiin %(exc_name)s tiedostoa lukiessa. Varmista, että olet valinnut "
"oikean tiedostotyypin." "oikean tiedostotyypin."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Vie" msgstr "Vie"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Vie valitut %(verbose_name_plural)s" msgstr "Vie valitut %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "Resurssi" msgstr "Resurssi"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Tiedostotyyppi" msgstr "Tiedostotyyppi"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Tuotava tiedosto" msgstr "Tuotava tiedosto"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Etusivu" msgstr "Etusivu"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Tämä vienti vie seuraavat kentät: " msgstr "Tämä vienti vie seuraavat kentät: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Lähetä" msgstr "Lähetä"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -134,24 +131,23 @@ msgstr ""
"Alla on esikatselu tuotavista tiedoista. Jos olet tyytyväinen, paina " "Alla on esikatselu tuotavista tiedoista. Jos olet tyytyväinen, paina "
"'Vahvista tuonti'." "'Vahvista tuonti'."
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Vahvista tuonti" msgstr "Vahvista tuonti"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Virheet" msgstr "Virheet"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Rivinumero" msgstr "Rivinumero"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Joitakin rivejä ei voitu vahvistaa" msgstr "Joitakin rivejä ei voitu vahvistaa"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -159,43 +155,43 @@ msgstr ""
"Korjaa nämä virheet tiedoissasi ja lähetä uudelleen käyttäen yllä olevaa " "Korjaa nämä virheet tiedoissasi ja lähetä uudelleen käyttäen yllä olevaa "
"lomaketta." "lomaketta."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Rivi" msgstr "Rivi"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "Ei liity mihinkään kenttään" msgstr "Ei liity mihinkään kenttään"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Esikatselu" msgstr "Esikatselu"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Uusi" msgstr "Uusi"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Ohitettu" msgstr "Ohitettu"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Poisto" msgstr "Poisto"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Päivitys" msgstr "Päivitys"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Tämä tuonti tuo seuraavat kentät: " msgstr "Tämä tuonti tuo seuraavat kentät: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,188 +18,195 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importer" msgstr "Importer"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr "%s via import_export"
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "" msgstr ""
"Importation terminée: {} nouveaux, {} modifiés, {} supprimés et {} sautés "
"pour les {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
"Erreur %(exc_name)s pendant la lecture du fichier. Assurez-vous davoir "
"choisi le bon format pour le fichier."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
"Pas de données valides importables. Assurez-vous que le fichier contient des "
"en-têtes ou données correctes pour limportation."
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exporter" msgstr "Exporter"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Exporter %(verbose_name_plural)s selectionnés" msgstr "Exporter %(verbose_name_plural)s selectionné(e)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr "exportation échouée à cause de IllegalCharacterError"
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr "Ressource"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Format" msgstr "Format"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Fichier à importer" msgstr "Fichier à importer"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr "Le formulaire nest pas validé, appeler dabord `is_valid`"
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr "Sélectionner au moins 1 champ pour \"%(resource_name)s\" pour exporter"
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
"Les champs suivants sont déclarés dans 'import_id_fields' mais ne sont pas "
"présents dans les champs de la ressource: %s"
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
"Les champs suivants sont déclarés dans 'import_id_fields' mais ne sont pas "
"présents dans les en-têtes du fichier: %s"
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr "un appel à force_str() sur une instance a échoué: %s"
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Accueil" msgstr "Accueil"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n" msgstr[0] "Exporter %(len)s élément sélectionné."
" " msgstr[1] "Exporter %(len)s éléments sélectionnés."
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] ""
msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy
#| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Cet importateur va importer les champs suivants: " msgstr "Cet exportateur va exporter les champs suivants: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Soumettre" msgstr "Soumettre"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
msgstr "" msgstr ""
"Voici un aperçu des données à importer. Si vous êtes satisfait des " "Voici un aperçu des données à importer. Si vous êtes satisfait(e) des "
"résultats, cliquez sur 'Confirmer l'importation'" "résultats, cliquez sur 'Confirmer limportation'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Confirmer l'importation" msgstr "Confirmer limportation"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Erreurs" msgstr "Erreurs"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Numéro de ligne" msgstr "Numéro de ligne"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr "Certaines lignes ont échoué à la validation"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
"Veuillez corriger ces erreurs dans les données si possible, puis envoyer à "
"nouveau en utilisant le formulaire ci-dessus."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr "Ligne"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr "Non spécifique à un champ"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Aperçu" msgstr "Aperçu"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nouveau" msgstr "Nouveau"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Ignoré" msgstr "Ignoré"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Mettre à jour" msgstr "Mettre à jour"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Cet importateur va importer les champs suivants: " msgstr "Cet importateur va importer les champs suivants: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr "La valeur na pas pu être interprétée."
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""
"use_natural_foreign_keys et key_is_id ne peuvent pas être True en même temps"
#~ msgid "You must select an export format." #~ msgid "You must select an export format."
#~ msgstr "Vous devez sélectionner un format d'exportation." #~ msgstr "Vous devez sélectionner un format d'exportation."

Binary file not shown.

View File

@ -0,0 +1,205 @@
# Hebrew translation for django-import-export
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
msgid ""
msgstr ""
"Project-Id-Version: django-import-export\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2025-06-23 17:44+0300\n"
"Last-Translator: \n"
"Language-Team: Hebrew <he@li.org>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.6\n"
#: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/import.html
msgid "Import"
msgstr "ייבוא"
#: admin.py
#, python-format
msgid "%s through import_export"
msgstr "%s באמצעות ייבוא/ייצוא"
#: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "הייבוא הסתיים: נוספו {}, עודכנו {}, נמחקו {}, דולגו {}."
#: admin.py
#, python-format
msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file."
msgstr ""
"שגיאת %(exc_name)s אירעה בקריאת הקובץ. ודאו שבחרתם את פורמט הקובץ הנכון."
#: admin.py
msgid ""
"No valid data to import. Ensure your file has the correct headers or data "
"for import."
msgstr ""
"לא נמצא מידע תקין לייבוא. יש לוודא שהכותרות והנתונים בקובץ תקינים ומתאימים "
"לייבוא."
#: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html
msgid "Export"
msgstr "ייצוא"
#: admin.py
#, python-format
msgid "Export selected %(verbose_name_plural)s"
msgstr "ייצוא %(verbose_name_plural)s שנבחרו"
#: formats/base_formats.py
msgid "export failed due to IllegalCharacterError"
msgstr "הייצוא נכשל עקב שגיאת תו לא חוקי (IllegalCharacterError)"
#: forms.py
msgid "Resource"
msgstr "משאב"
#: forms.py
msgid "Format"
msgstr "פורמט"
#: forms.py
msgid "File to import"
msgstr "קובץ לייבוא"
#: forms.py
msgid "Form is not validated, call `is_valid` first"
msgstr "הטופס לא אומת, יש לקרוא לפונקציה `is_valid` תחילה"
#: forms.py
#, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "יש לבחור לפחות שדה אחד לייצוא עבור \"%(resource_name)s\""
#: resources.py
#, python-format
msgid ""
"The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s"
msgstr "השדות הבאים הוגדרו ב-'import_id_fields' אך אינם קיימים בשדות המשאב: %s"
#: resources.py
#, python-format
msgid ""
"The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s"
msgstr ""
"השדות הבאים הוגדרו ב-'import_id_fields' אך אינם קיימים בכותרות הקובץ: %s"
#: results.py
#, python-format
msgid "call to force_str() on instance failed: %s"
msgstr "הקריאה ל-force_str() על המופע נכשלה: %s"
#: templates/admin/import_export/base.html
msgid "Home"
msgstr "דף הבית"
#: templates/admin/import_export/export.html
#, python-format
msgid "Export %(len)s selected item."
msgid_plural "Export %(len)s selected items."
msgstr[0] "ייצוא הפריט שנבחר"
msgstr[1] "ייצוא %(len)s פריטים שנבחרו"
#: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html
msgid "This exporter will export the following fields: "
msgstr "הייצוא יכלול את השדות הבאים:"
#: templates/admin/import_export/export.html
msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit"
msgstr "שליחה"
#: templates/admin/import_export/import.html
msgid ""
"Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'"
msgstr ""
"להלן תצוגה מקדימה של הנתונים לייבוא. אם התוצאות נראות תקינות, לחצו על 'אשר "
"ייבוא'."
#: templates/admin/import_export/import.html
msgid "Confirm import"
msgstr "אשר ייבוא"
#: templates/admin/import_export/import.html
msgid "Errors"
msgstr "שגיאות"
#: templates/admin/import_export/import.html
msgid "Line number"
msgstr "מספר שורה"
#: templates/admin/import_export/import.html
msgid "Some rows failed to validate"
msgstr "אימות מספר שורות נכשל"
#: templates/admin/import_export/import.html
msgid ""
"Please correct these errors in your data where possible, then reupload it "
"using the form above."
msgstr ""
"יש לתקן את השגיאות בקובץ המקורי במידת האפשר, ולטעון אותו מחדש באמצעות הטופס "
"למעלה."
#: templates/admin/import_export/import.html
msgid "Row"
msgstr "שורה"
#: templates/admin/import_export/import.html
msgid "Non field specific"
msgstr "לא קשור לשדה מסוים"
#: templates/admin/import_export/import.html
msgid "Preview"
msgstr "תצוגה מקדימה"
#: templates/admin/import_export/import.html
msgid "New"
msgstr "חדש"
#: templates/admin/import_export/import.html
msgid "Skipped"
msgstr "דולג"
#: templates/admin/import_export/import.html
msgid "Delete"
msgstr "מחיקה"
#: templates/admin/import_export/import.html
msgid "Update"
msgstr "עדכון"
#: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: "
msgstr "הייבוא יכלול את השדות הבאים:"
#: widgets.py
msgid "Value could not be parsed."
msgstr "לא ניתן היה לפענח את הערך."
#: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr ""
"לא ניתן להפעיל את ההגדרות 'use_natural_foreign_keys' ו-'key_is_id' בו-זמנית."
#~ msgid "You must select an export format."
#~ msgstr "עליך לבחור פורמט לייצוא."

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2015-08-30 20:32+0100\n" "PO-Revision-Date: 2015-08-30 20:32+0100\n"
"Last-Translator: Christian Galeffi <chri@gallochri.com>\n" "Last-Translator: Christian Galeffi <chri@gallochri.com>\n"
"Language-Team: Italian <kde-i18n-it@kde.org>\n" "Language-Team: Italian <kde-i18n-it@kde.org>\n"
@ -17,119 +17,116 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n" "X-Generator: Poedit 1.5.4\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importare" msgstr "Importare"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr ""
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "" msgstr ""
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Esportare" msgstr "Esportare"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Esporta selezionati %(verbose_name_plural)s" msgstr "Esporta selezionati %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Formato" msgstr "Formato"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "File da importare" msgstr "File da importare"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Home" msgstr "Home"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Verranno importati i seguenti campi:" msgstr "Verranno importati i seguenti campi:"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Inviare" msgstr "Inviare"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -137,66 +134,65 @@ msgstr ""
"Questa è un'anteprima dei dati che saranno importati. Se il risultato è " "Questa è un'anteprima dei dati che saranno importati. Se il risultato è "
"soddisfacente, premi 'Conferma importazione'" "soddisfacente, premi 'Conferma importazione'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Conferma importazione" msgstr "Conferma importazione"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Errori" msgstr "Errori"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Numero linea" msgstr "Numero linea"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Anteprima" msgstr "Anteprima"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nuovo" msgstr "Nuovo"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Salta" msgstr "Salta"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Cancella" msgstr "Cancella"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Aggiorna" msgstr "Aggiorna"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Verranno importati i seguenti campi:" msgstr "Verranno importati i seguenti campi:"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,118 +18,115 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "インポート" msgstr "インポート"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr ""
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "" msgstr ""
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "エクスポート" msgstr "エクスポート"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "選択した %(verbose_name_plural)s をエクスポート" msgstr "選択した %(verbose_name_plural)s をエクスポート"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "フォーマット" msgstr "フォーマット"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "インポートするファイル" msgstr "インポートするファイル"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "ホーム" msgstr "ホーム"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "以下の列をインポートします。" msgstr "以下の列をインポートします。"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "確定" msgstr "確定"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -137,66 +134,65 @@ msgstr ""
"インポートされるデータのプレビューを表示しています。この内容で問題なければ" "インポートされるデータのプレビューを表示しています。この内容で問題なければ"
"「インポート実行」をクリックしてください。" "「インポート実行」をクリックしてください。"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "インポート実行" msgstr "インポート実行"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "エラー" msgstr "エラー"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "行番号" msgstr "行番号"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "プレビュー" msgstr "プレビュー"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "新規" msgstr "新規"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "スキップ" msgstr "スキップ"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "削除" msgstr "削除"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "更新" msgstr "更新"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "以下の列をインポートします。" msgstr "以下の列をインポートします。"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Yeongkwang Yang <immutable000@gmail.com>\n" "Last-Translator: Yeongkwang Yang <immutable000@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,120 +18,117 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "가져오기" msgstr "가져오기"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s은(는) django-import-export를 통해 가져왔습니다." msgstr "%s은(는) django-import-export를 통해 가져왔습니다."
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "가져오기 성공, {} 행 추가, {} 행 업데이트" msgstr "가져오기 성공, {} 행 추가, {} 행 업데이트"
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "내보내기" msgstr "내보내기"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "선택한 %(verbose_name_plural)s 내보내기" msgstr "선택한 %(verbose_name_plural)s 내보내기"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "형식" msgstr "형식"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "파일" msgstr "파일"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "다음의 필드를 가져옵니다: " msgstr "다음의 필드를 가져옵니다: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "제출" msgstr "제출"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -139,66 +136,65 @@ msgstr ""
"다음은 불러올 데이터의 미리보기 입니다.데이터에 문제가 없다면 확인을 눌러 가" "다음은 불러올 데이터의 미리보기 입니다.데이터에 문제가 없다면 확인을 눌러 가"
"져오기를 진행하세요." "져오기를 진행하세요."
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "확인" msgstr "확인"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "에러" msgstr "에러"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "행 번호" msgstr "행 번호"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "유효성 검증에 실패한 행이 있습니다." msgstr "유효성 검증에 실패한 행이 있습니다."
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "에러를 수정한 후 파일을 다시 업로드 해주세요." msgstr "에러를 수정한 후 파일을 다시 업로드 해주세요."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "지정된 필드 없음" msgstr "지정된 필드 없음"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "미리보기" msgstr "미리보기"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "생성" msgstr "생성"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "넘어감" msgstr "넘어감"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "삭제" msgstr "삭제"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "갱신" msgstr "갱신"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "다음의 필드를 가져옵니다: " msgstr "다음의 필드를 가져옵니다: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Muslim Beibytuly <muslimbeibytuly@gmail.com>\n" "Last-Translator: Muslim Beibytuly <muslimbeibytuly@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,121 +17,118 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Импорт" msgstr "Импорт"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s арқылы import_export" msgstr "%s арқылы import_export"
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Импорт аяқталды, {} жаңа және {} жаңартылды {}." msgstr "Импорт аяқталды, {} жаңа және {} жаңартылды {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Экспорт" msgstr "Экспорт"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Таңдалған %(verbose_name_plural)s экспорттаңыз" msgstr "Таңдалған %(verbose_name_plural)s экспорттаңыз"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Формат" msgstr "Формат"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Импорттауға арналған файл" msgstr "Импорттауға арналған файл"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Басты бет" msgstr "Басты бет"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Бұл импорттаушы келесі өрістерді импорттайды: " msgstr "Бұл импорттаушы келесі өрістерді импорттайды: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Жіберу" msgstr "Жіберу"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -139,24 +136,23 @@ msgstr ""
"Төменде импортталатын деректерді алдын ала қарау берілген. Егер сіз " "Төменде импортталатын деректерді алдын ала қарау берілген. Егер сіз "
"нәтижелерге қанағаттансаңыз, 'Импортты растау' түймесін басыңыз." "нәтижелерге қанағаттансаңыз, 'Импортты растау' түймесін басыңыз."
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Импортты растау" msgstr "Импортты растау"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Қателер" msgstr "Қателер"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Жол нөмірі" msgstr "Жол нөмірі"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Кейбір жолдар тексерілмеді" msgstr "Кейбір жолдар тексерілмеді"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -164,43 +160,43 @@ msgstr ""
"Мүмкіндігінше деректеріңіздегі қателерді түзетіңіз, содан кейін жоғарыдағы " "Мүмкіндігінше деректеріңіздегі қателерді түзетіңіз, содан кейін жоғарыдағы "
"пішінді қолданып қайта жүктеңіз." "пішінді қолданып қайта жүктеңіз."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Қатар" msgstr "Қатар"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "Өріске қатысты емес" msgstr "Өріске қатысты емес"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Алдын-ала қарау" msgstr "Алдын-ала қарау"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Жаңа" msgstr "Жаңа"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Өткізілді" msgstr "Өткізілді"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Жою" msgstr "Жою"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Жаңарту" msgstr "Жаңарту"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Бұл импорттаушы келесі өрістерді импорттайды: " msgstr "Бұл импорттаушы келесі өрістерді импорттайды: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,121 +18,118 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importeren" msgstr "Importeren"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s door import_export" msgstr "%s door import_export"
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Import is klaar met {} nieuwe en {} geupdate {}." msgstr "Import is klaar met {} nieuwe en {} geupdate {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exporteren" msgstr "Exporteren"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Exporteer geselecteerde %(verbose_name_plural)s" msgstr "Exporteer geselecteerde %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Formaat" msgstr "Formaat"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Bestand om te importeren" msgstr "Bestand om te importeren"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Terug" msgstr "Terug"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Deze import zal de volgende velden toevoegen" msgstr "Deze import zal de volgende velden toevoegen"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Indienen" msgstr "Indienen"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -140,24 +137,23 @@ msgstr ""
"Hieronder is een voorvertoning van de data die geïmporteerd zal worden. Als " "Hieronder is een voorvertoning van de data die geïmporteerd zal worden. Als "
"u tevreden bent met het resultaat, klik dan op 'Accepteer de import'." "u tevreden bent met het resultaat, klik dan op 'Accepteer de import'."
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Accepteer de import" msgstr "Accepteer de import"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Fouten" msgstr "Fouten"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Regel nummer" msgstr "Regel nummer"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Sommige regels zijn niet goedgekeurd" msgstr "Sommige regels zijn niet goedgekeurd"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -165,43 +161,43 @@ msgstr ""
"Verander alstublieft de volgende fouten in uw data waar mogelijk. Upload het " "Verander alstublieft de volgende fouten in uw data waar mogelijk. Upload het "
"bestand daarna nogmaals met het veld hierboven." "bestand daarna nogmaals met het veld hierboven."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Regel" msgstr "Regel"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "Niet veld specifiek" msgstr "Niet veld specifiek"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Voorbeeldweergave" msgstr "Voorbeeldweergave"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nieuw" msgstr "Nieuw"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Overgeslagen" msgstr "Overgeslagen"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Verwijderen" msgstr "Verwijderen"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Bijwerken" msgstr "Bijwerken"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Deze import zal de volgende velden toevoegen" msgstr "Deze import zal de volgende velden toevoegen"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -19,122 +19,119 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n" "|| n%100>=20) ? 1 : 2);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Import" msgstr "Import"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s przez import_export" msgstr "%s przez import_export"
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Import zakończony, z {} nowymi i {} zaktualizowanymi {}." msgstr "Import zakończony, z {} nowymi i {} zaktualizowanymi {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Eksport" msgstr "Eksport"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Eksportuj wybrane %(verbose_name_plural)s" msgstr "Eksportuj wybrane %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Format" msgstr "Format"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Plik do importu" msgstr "Plik do importu"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Powrót" msgstr "Powrót"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
msgstr[2] "" msgstr[2] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Zostaną zaimportowane następujące pola: " msgstr "Zostaną zaimportowane następujące pola: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Wyślij" msgstr "Wyślij"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -142,66 +139,65 @@ msgstr ""
"Poniżej znajdują się przykładowe dane do zaimportowania. Jeśli " "Poniżej znajdują się przykładowe dane do zaimportowania. Jeśli "
"satysfakcjonuje Cię wynik, kliknij 'Potwierdź import'" "satysfakcjonuje Cię wynik, kliknij 'Potwierdź import'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Potwierdź import" msgstr "Potwierdź import"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Błędy" msgstr "Błędy"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Numer linii" msgstr "Numer linii"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Podgląd" msgstr "Podgląd"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nowy" msgstr "Nowy"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Pominięty" msgstr "Pominięty"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Usuń" msgstr "Usuń"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Zaktualizowany" msgstr "Zaktualizuj"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Zostaną zaimportowane następujące pola: " msgstr "Zostaną zaimportowane następujące pola: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2020-06-06 10:30-0500\n" "PO-Revision-Date: 2020-06-06 10:30-0500\n"
"Last-Translator: Daniel Pluth <pluthd@gmail.com>\n" "Last-Translator: Daniel Pluth <pluthd@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -17,121 +17,118 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 20.04.1\n" "X-Generator: Lokalize 20.04.1\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importar" msgstr "Importar"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s através import_export " msgstr "%s através import_export "
#: admin.py:262 #: admin.py
#, fuzzy #, fuzzy
#| msgid "Import finished, with {} new and {} updated {}." #| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "A importação foi completada com {} novas e {} atualizadas {}" msgstr "A importação foi completada com {} novas e {} atualizadas {}"
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exportar" msgstr "Exportar"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Exportar %(verbose_name_plural)s selecionados" msgstr "Exportar %(verbose_name_plural)s selecionados"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Formato" msgstr "Formato"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Arquivo a ser importado" msgstr "Arquivo a ser importado"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Início" msgstr "Início"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Este importador vai importar os seguintes campos:" msgstr "Este importador vai importar os seguintes campos:"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Enviar" msgstr "Enviar"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -139,24 +136,23 @@ msgstr ""
"Ver abaixo uma prévia dos dados a serem importados. Se você esta satisfeito " "Ver abaixo uma prévia dos dados a serem importados. Se você esta satisfeito "
"com os resultados, clique em 'Confirmar importação'" "com os resultados, clique em 'Confirmar importação'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Confirmar importação" msgstr "Confirmar importação"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Erros" msgstr "Erros"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Número da linha" msgstr "Número da linha"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Algumas linhas não foram validadas" msgstr "Algumas linhas não foram validadas"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -164,43 +160,43 @@ msgstr ""
"Por favor corrigir os erros nos dados onde possível e recarregar os dados " "Por favor corrigir os erros nos dados onde possível e recarregar os dados "
"com o formato acima." "com o formato acima."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Linha" msgstr "Linha"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "Campo não é específico" msgstr "Campo não é específico"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Prévia" msgstr "Prévia"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Novo" msgstr "Novo"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Não usados" msgstr "Não usados"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Remover" msgstr "Remover"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Atualizar" msgstr "Atualizar"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Este importador vai importar os seguintes campos:" msgstr "Este importador vai importar os seguintes campos:"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: 2024-04-26 20:55+0700\n" "PO-Revision-Date: 2024-04-26 20:55+0700\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -19,22 +19,21 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.0.1\n" "X-Generator: Poedit 3.0.1\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Импорт" msgstr "Импорт"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s через import_export" msgstr "%s через import_export"
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "Импорт завершен: {} новых, {} обновлено, {} удалено и {} пропущено {}." msgstr "Импорт завершен: {} новых, {} обновлено, {} удалено и {} пропущено {}."
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
@ -43,7 +42,7 @@ msgstr ""
"При чтении файла возникла ошибка %(exc_name)s. Убедитесь, что используется " "При чтении файла возникла ошибка %(exc_name)s. Убедитесь, что используется "
"подходящий формат файла." "подходящий формат файла."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
@ -51,43 +50,43 @@ msgstr ""
"Некорректные данные для импорта. Убедитесь, что файл содержит корректные " "Некорректные данные для импорта. Убедитесь, что файл содержит корректные "
"заголовок и данные." "заголовок и данные."
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Экспорт" msgstr "Экспорт"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Экспортировать выбранные %(verbose_name_plural)s" msgstr "Экспортировать выбранные %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "Ресурс" msgstr "Ресурс"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Формат" msgstr "Формат"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Файл для импорта" msgstr "Файл для импорта"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "Необходимо сначала вызвать `is_valid` для валидации формы" msgstr "Необходимо сначала вызвать `is_valid` для валидации формы"
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "Выберите хотя бы одно поле для экспорта \"%(resource_name)s\"" msgstr "Выберите хотя бы одно поле для экспорта \"%(resource_name)s\""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
@ -96,7 +95,7 @@ msgstr ""
"Следующие поля указаны в 'import_id_fields', но отсутствуют в полях ресурса: " "Следующие поля указаны в 'import_id_fields', но отсутствуют в полях ресурса: "
"%s" "%s"
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
@ -105,49 +104,38 @@ msgstr ""
"Следующие поля указаны в 'import_id_fields', но отсутствуют в заголовке " "Следующие поля указаны в 'import_id_fields', но отсутствуют в заголовке "
"файла: %s" "файла: %s"
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "вызов 'force_str()' завершился ошибкой: %s" msgstr "вызов 'force_str()' завершился ошибкой: %s"
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Главная" msgstr "Главная"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n" msgstr[0] "Экспортировать %(len)s выбранный элемент."
" " msgstr[1] "Экспортировать %(len)s выбранных элемента."
msgid_plural "" msgstr[2] "Экспортировать %(len)s выбранных элементов."
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] ""
"\n"
" Экспортировать %(len)s выбранный элемент.\n"
" "
msgstr[1] ""
"\n"
" Экспортировать %(len)s выбранных элемента.\n"
" "
msgstr[2] ""
"\n"
" Экспортировать %(len)s выбранных элементов.\n"
" "
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Будут экспортированы следующие поля: " msgstr "Будут экспортированы следующие поля: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Отправить" msgstr "Отправить"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -155,24 +143,23 @@ msgstr ""
"Ниже показано то, что будет импортировано. Нажмите 'Подтвердить импорт', " "Ниже показано то, что будет импортировано. Нажмите 'Подтвердить импорт', "
"если Вас устраивает результат" "если Вас устраивает результат"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Подтвердить импорт" msgstr "Подтвердить импорт"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Ошибки" msgstr "Ошибки"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Номер строки" msgstr "Номер строки"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Некоторые строки не прошли валидацию" msgstr "Некоторые строки не прошли валидацию"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -180,43 +167,43 @@ msgstr ""
"По возможности исправьте эти ошибки в своих данных, а затем повторно " "По возможности исправьте эти ошибки в своих данных, а затем повторно "
"загрузите их, используя форму выше." "загрузите их, используя форму выше."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Строка" msgstr "Строка"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "Не относящиеся к конкретному полю" msgstr "Не относящиеся к конкретному полю"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Предпросмотр" msgstr "Предпросмотр"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Добавлено" msgstr "Добавлено"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Пропущено" msgstr "Пропущено"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Удалено" msgstr "Удалено"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Обновлено" msgstr "Обновлено"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Будут импортированы следующие поля: " msgstr "Будут импортированы следующие поля: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "Ошибка парсинга значения." msgstr "Ошибка парсинга значения."
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,120 +18,117 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "Importovať" msgstr "Importovať"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "" msgstr ""
#: admin.py:262 #: admin.py
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "" msgstr ""
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Exportovať" msgstr "Exportovať"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Exportovať vybrané %(verbose_name_plural)s" msgstr "Exportovať vybrané %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Formát" msgstr "Formát"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "Importovať súbor" msgstr "Importovať súbor"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Domov" msgstr "Domov"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
msgstr[2] "" msgstr[2] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy #, fuzzy
#| msgid "This importer will import the following fields: " #| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Budú importované nasledujúce polia: " msgstr "Budú importované nasledujúce polia: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Odoslať" msgstr "Odoslať"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -139,66 +136,65 @@ msgstr ""
"Nižšie je zobrazený náhľad importovaných dát. Ak je všetko v poriadku, " "Nižšie je zobrazený náhľad importovaných dát. Ak je všetko v poriadku, "
"kliknite na tlačidlo 'Potvrdiť import'" "kliknite na tlačidlo 'Potvrdiť import'"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "Potvrdiť import" msgstr "Potvrdiť import"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Chyby" msgstr "Chyby"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Číslo riadku" msgstr "Číslo riadku"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "" msgstr ""
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Náhľad" msgstr "Náhľad"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Nový" msgstr "Nový"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Preskočený" msgstr "Preskočený"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Vymazaný" msgstr "Vymazaný"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Aktualizovaný" msgstr "Aktualizovaný"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Budú importované nasledujúce polia: " msgstr "Budú importované nasledujúce polia: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -1,16 +1,16 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # Cihad GÜNDOĞDU <cihadgundogdu@gmail.com>, 2025.
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-08-30 17:56+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Cihad GÜNDOĞDU <cihadgundogdu@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n" "Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -18,121 +18,122 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "İçe aktar" msgstr "İçe aktar"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s vasıtasıyla import_export" msgstr "%s vasıtasıyla import_export"
#: admin.py:262 #: admin.py
#, fuzzy
#| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "{} yeni ve {} güncellenen {} ile içe aktarma bitti" msgstr "{} yeni ve {} güncellenen {} ile içe aktarma bitti"
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "%(exc_name)s dosyayı okumaya çalışırken karşılaşıldı. Dosya için doğru biçimi seçtiğinizden emin olun." msgstr ""
"%(exc_name)s dosyayı okumaya çalışırken karşılaşıldı. Dosya için doğru "
"biçimi seçtiğinizden emin olun."
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "Geçerli içe aktarılacak veri yok. Dosyanızın doğru başlıkları veya içe aktarım için verileri olduğundan emin olun." msgstr ""
"Geçerli içe aktarılacak veri yok. Dosyanızın doğru başlıkları veya içe "
"aktarım için verileri olduğundan emin olun."
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "Dışa aktar" msgstr "Dışa aktar"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "Seçililenleri dışa aktar %(verbose_name_plural)s" msgstr "Seçililenleri dışa aktar %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "dışa aktarma, IllegalCharacterError nedeniyle başarısız oldu" msgstr "dışa aktarma, IllegalCharacterError nedeniyle başarısız oldu"
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "Kaynak" msgstr "Kaynak"
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "Dosya biçimi" msgstr "Dosya biçimi"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "İçe alınacak dosya" msgstr "İçe alınacak dosya"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "Form doğrulanmadı, önce `is_valid` çağırın" msgstr "Form doğrulanmadı, önce `is_valid` çağırın"
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "\"%(resource_name)s\" için en az 1 alan seçin" msgstr "\"%(resource_name)s\" için en az 1 alan seçin"
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "Aşağıdaki alanlar 'import_id_fields' içinde belirtilmiş ancak kaynak alanlarında bulunmamaktadır: %s" msgstr ""
"Aşağıdaki alanlar 'import_id_fields' içinde belirtilmiş ancak kaynak "
"alanlarında bulunmamaktadır: %s"
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "Aşağıdaki alanlar 'import_id_fields' içinde belirtilmiş ancak dosya başlıklarında bulunmamaktadır: %s" msgstr ""
"Aşağıdaki alanlar 'import_id_fields' içinde belirtilmiş ancak dosya "
"başlıklarında bulunmamaktadır: %s"
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "force_str() çağrısı örnekte başarısız oldu: %s" msgstr "force_str() çağrısı örnekte başarısız oldu: %s"
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "Ana sayfa" msgstr "Ana sayfa"
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n" msgstr[0] "Dışa aktar %(len)s seçilen öğe."
" " msgstr[1] "Dışa aktar %(len)s seçilen öğeler."
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "\n Dışa aktar %(len)s seçilen öğe."
msgstr[1] "\n Dışa aktar %(len)s seçilen öğeler."
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy
#| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "Bu içe aktarıcı aşağıdaki alanları içe aktaracaktır: " msgstr "Bu içe aktarıcı aşağıdaki alanları içe aktaracaktır: "
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr "Tümünü seç"
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "Kaydet" msgstr "Kaydet"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
@ -140,24 +141,23 @@ msgstr ""
"Aşağıda içe aktarılacak verilerin önizlemesi verilmiştir. Sonuçlardan " "Aşağıda içe aktarılacak verilerin önizlemesi verilmiştir. Sonuçlardan "
"memnunsanız 'İçe aktarmayı onayla'yı tıklayın." "memnunsanız 'İçe aktarmayı onayla'yı tıklayın."
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "İçe aktarmayı onayla" msgstr "İçe aktarmayı onayla"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "Hatalar" msgstr "Hatalar"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "Satır numarası" msgstr "Satır numarası"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "Bazı satırlar doğrulanamadı" msgstr "Bazı satırlar doğrulanamadı"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
@ -165,43 +165,43 @@ msgstr ""
"Lütfen verilerinizdeki bu hataları olabildiğince düzeltin, sonra yukarıdaki " "Lütfen verilerinizdeki bu hataları olabildiğince düzeltin, sonra yukarıdaki "
"formu kullanarak tekrar yükleyin." "formu kullanarak tekrar yükleyin."
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "Satır" msgstr "Satır"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "Alan olmayana özgü" msgstr "Alan olmayana özgü"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "Ön izleme" msgstr "Ön izleme"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "Yeni" msgstr "Yeni"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "Atlandı" msgstr "Atlandı"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "Sil" msgstr "Sil"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "Güncelle" msgstr "Güncelle"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "Bu içe aktarıcı aşağıdaki alanları içe aktaracaktır: " msgstr "Bu içe aktarıcı aşağıdaki alanları içe aktaracaktır: "
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "Değer ayrıştırılamadı." msgstr "Değer ayrıştırılamadı."
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "use_natural_foreign_keys ve key_is_id aynı anda True olamaz" msgstr "use_natural_foreign_keys ve key_is_id aynı anda True olamaz"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-02 12:47+0000\n" "POT-Creation-Date: 2025-06-23 19:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: hao wang <173300430@qq.com>\n" "Last-Translator: hao wang <173300430@qq.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,185 +18,177 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
#: admin.py:184 admin.py:548 #: admin.py templates/admin/import_export/change_list_import_item.html
#: templates/admin/import_export/change_list_import_item.html:5 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:19
msgid "Import" msgid "Import"
msgstr "导入" msgstr "导入"
#: admin.py:254 admin.py:600 #: admin.py
#, python-format #, python-format
msgid "%s through import_export" msgid "%s through import_export"
msgstr "%s 通过 django-import-export导入" msgstr "%s 通过 django-import-export导入"
#: admin.py:262 #: admin.py
#, fuzzy
#| msgid "Import finished, with {} new and {} updated {}."
msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}." msgid "Import finished: {} new, {} updated, {} deleted and {} skipped {}."
msgstr "导入成功,新增{}条记录,更新{}条记录。" msgstr "导入成功,新增{}条记录,更新{}条记录,删除{}条记录,忽略{}条记录。"
#: admin.py:431 #: admin.py
#, python-format #, python-format
msgid "" msgid ""
"%(exc_name)s encountered while trying to read file. Ensure you have chosen " "%(exc_name)s encountered while trying to read file. Ensure you have chosen "
"the correct format for the file." "the correct format for the file."
msgstr "" msgstr ""
#: admin.py:504 #: admin.py
msgid "" msgid ""
"No valid data to import. Ensure your file has the correct headers or data " "No valid data to import. Ensure your file has the correct headers or data "
"for import." "for import."
msgstr "" msgstr ""
#: admin.py:819 templates/admin/import_export/change_form.html:8 #: admin.py templates/admin/import_export/change_form.html
#: templates/admin/import_export/change_list_export_item.html:5 #: templates/admin/import_export/change_list_export_item.html
#: templates/admin/import_export/export.html:12 #: templates/admin/import_export/export.html
msgid "Export" msgid "Export"
msgstr "导出" msgstr "导出"
#: admin.py:952 #: admin.py
#, python-format #, python-format
msgid "Export selected %(verbose_name_plural)s" msgid "Export selected %(verbose_name_plural)s"
msgstr "导出选中的 %(verbose_name_plural)s" msgstr "导出选中的 %(verbose_name_plural)s"
#: formats/base_formats.py:236 #: formats/base_formats.py
msgid "export failed due to IllegalCharacterError" msgid "export failed due to IllegalCharacterError"
msgstr "" msgstr ""
#: forms.py:15 #: forms.py
msgid "Resource" msgid "Resource"
msgstr "" msgstr ""
#: forms.py:20 #: forms.py
msgid "Format" msgid "Format"
msgstr "格式" msgstr "格式"
#: forms.py:56 #: forms.py
msgid "File to import" msgid "File to import"
msgstr "导入文件" msgstr "导入文件"
#: forms.py:216 #: forms.py
msgid "Form is not validated, call `is_valid` first" msgid "Form is not validated, call `is_valid` first"
msgstr "" msgstr ""
#: forms.py:268 #: forms.py
#, python-format #, python-format
msgid "Select at least 1 field for \"%(resource_name)s\" to export" msgid "Select at least 1 field for \"%(resource_name)s\" to export"
msgstr "" msgstr ""
#: resources.py:1171 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the resource fields: %s" "in the resource fields: %s"
msgstr "" msgstr ""
#: resources.py:1186 #: resources.py
#, python-format #, python-format
msgid "" msgid ""
"The following fields are declared in 'import_id_fields' but are not present " "The following fields are declared in 'import_id_fields' but are not present "
"in the file headers: %s" "in the file headers: %s"
msgstr "" msgstr ""
#: results.py:150 #: results.py
#, python-format #, python-format
msgid "call to force_str() on instance failed: %s" msgid "call to force_str() on instance failed: %s"
msgstr "" msgstr ""
#: templates/admin/import_export/base.html:11 #: templates/admin/import_export/base.html
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: templates/admin/import_export/export.html:24 #: templates/admin/import_export/export.html
#, python-format #, python-format
msgid "" msgid "Export %(len)s selected item."
"\n" msgid_plural "Export %(len)s selected items."
" Export %(len)s selected item.\n"
" "
msgid_plural ""
"\n"
" Export %(len)s selected items.\n"
" "
msgstr[0] "" msgstr[0] ""
#: templates/admin/import_export/export.html:51 #: templates/admin/import_export/export.html
#: templates/admin/import_export/resource_fields_list.html:5 #: templates/admin/import_export/resource_fields_list.html
#, fuzzy
#| msgid "This importer will import the following fields: "
msgid "This exporter will export the following fields: " msgid "This exporter will export the following fields: "
msgstr "此次将导以下字段:" msgstr "此次将导出以下字段:"
#: templates/admin/import_export/export.html:85 #: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html:73 msgid "Select all"
msgstr ""
#: templates/admin/import_export/export.html
#: templates/admin/import_export/import.html
msgid "Submit" msgid "Submit"
msgstr "提交" msgstr "提交"
#: templates/admin/import_export/import.html:30 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Below is a preview of data to be imported. If you are satisfied with the " "Below is a preview of data to be imported. If you are satisfied with the "
"results, click 'Confirm import'" "results, click 'Confirm import'"
msgstr "以下是导入数据的预览。如果确认结果没有问题,可以点击 “确认导入”" msgstr "以下是导入数据的预览。如果确认结果没有问题,可以点击 “确认导入”"
#: templates/admin/import_export/import.html:33 #: templates/admin/import_export/import.html
msgid "Confirm import" msgid "Confirm import"
msgstr "确认导入" msgstr "确认导入"
#: templates/admin/import_export/import.html:84 #: templates/admin/import_export/import.html
#: templates/admin/import_export/import.html:125
msgid "Errors" msgid "Errors"
msgstr "错误" msgstr "错误"
#: templates/admin/import_export/import.html:98 #: templates/admin/import_export/import.html
msgid "Line number" msgid "Line number"
msgstr "行号" msgstr "行号"
#: templates/admin/import_export/import.html:117 #: templates/admin/import_export/import.html
msgid "Some rows failed to validate" msgid "Some rows failed to validate"
msgstr "某些行验数据证失败" msgstr "某些行验数据证失败"
#: templates/admin/import_export/import.html:119 #: templates/admin/import_export/import.html
msgid "" msgid ""
"Please correct these errors in your data where possible, then reupload it " "Please correct these errors in your data where possible, then reupload it "
"using the form above." "using the form above."
msgstr "请使用上面的表单,纠正这些提示有错误的数据,并重新上传" msgstr "请使用上面的表单,纠正这些提示有错误的数据,并重新上传"
#: templates/admin/import_export/import.html:124 #: templates/admin/import_export/import.html
msgid "Row" msgid "Row"
msgstr "行" msgstr "行"
#: templates/admin/import_export/import.html:151 #: templates/admin/import_export/import.html
msgid "Non field specific" msgid "Non field specific"
msgstr "没有指定的字段" msgstr "没有指定的字段"
#: templates/admin/import_export/import.html:174 #: templates/admin/import_export/import.html
msgid "Preview" msgid "Preview"
msgstr "预览" msgstr "预览"
#: templates/admin/import_export/import.html:189 #: templates/admin/import_export/import.html
msgid "New" msgid "New"
msgstr "新增" msgstr "新增"
#: templates/admin/import_export/import.html:191 #: templates/admin/import_export/import.html
msgid "Skipped" msgid "Skipped"
msgstr "忽略" msgstr "忽略"
#: templates/admin/import_export/import.html:193 #: templates/admin/import_export/import.html
msgid "Delete" msgid "Delete"
msgstr "删除" msgstr "删除"
#: templates/admin/import_export/import.html:195 #: templates/admin/import_export/import.html
msgid "Update" msgid "Update"
msgstr "更新" msgstr "更新"
#: templates/admin/import_export/resource_fields_list.html:7 #: templates/admin/import_export/resource_fields_list.html
msgid "This importer will import the following fields: " msgid "This importer will import the following fields: "
msgstr "此次将导入以下字段:" msgstr "此次将导入以下字段:"
#: widgets.py:369 #: widgets.py
msgid "Value could not be parsed." msgid "Value could not be parsed."
msgstr "" msgstr ""
#: widgets.py:497 #: widgets.py
msgid "use_natural_foreign_keys and key_is_id cannot both be True" msgid "use_natural_foreign_keys and key_is_id cannot both be True"
msgstr "" msgstr ""

View File

@ -206,18 +206,15 @@ class Resource(metaclass=DeclarativeMetaclass):
""" """
Creates objects by calling ``bulk_create``. Creates objects by calling ``bulk_create``.
""" """
try: if len(self.create_instances) > 0 and (using_transactions or not dry_run):
if len(self.create_instances) > 0: try:
if not using_transactions and dry_run: self._meta.model.objects.bulk_create(
pass self.create_instances, batch_size=batch_size
else: )
self._meta.model.objects.bulk_create( except Exception as e:
self.create_instances, batch_size=batch_size self.handle_import_error(result, e, raise_errors)
) finally:
except Exception as e: self.create_instances.clear()
self.handle_import_error(result, e, raise_errors)
finally:
self.create_instances.clear()
def bulk_update( def bulk_update(
self, using_transactions, dry_run, raise_errors, batch_size=None, result=None self, using_transactions, dry_run, raise_errors, batch_size=None, result=None
@ -225,37 +222,31 @@ class Resource(metaclass=DeclarativeMetaclass):
""" """
Updates objects by calling ``bulk_update``. Updates objects by calling ``bulk_update``.
""" """
try: if len(self.update_instances) > 0 and (using_transactions or not dry_run):
if len(self.update_instances) > 0: try:
if not using_transactions and dry_run: self._meta.model.objects.bulk_update(
pass self.update_instances,
else: self.get_bulk_update_fields(),
self._meta.model.objects.bulk_update( batch_size=batch_size,
self.update_instances, )
self.get_bulk_update_fields(), except Exception as e:
batch_size=batch_size, self.handle_import_error(result, e, raise_errors)
) finally:
except Exception as e: self.update_instances.clear()
self.handle_import_error(result, e, raise_errors)
finally:
self.update_instances.clear()
def bulk_delete(self, using_transactions, dry_run, raise_errors, result=None): def bulk_delete(self, using_transactions, dry_run, raise_errors, result=None):
""" """
Deletes objects by filtering on a list of instances to be deleted, Deletes objects by filtering on a list of instances to be deleted,
then calling ``delete()`` on the entire queryset. then calling ``delete()`` on the entire queryset.
""" """
try: if len(self.delete_instances) > 0 and (using_transactions or not dry_run):
if len(self.delete_instances) > 0: try:
if not using_transactions and dry_run: delete_ids = [o.pk for o in self.delete_instances]
pass self._meta.model.objects.filter(pk__in=delete_ids).delete()
else: except Exception as e:
delete_ids = [o.pk for o in self.delete_instances] self.handle_import_error(result, e, raise_errors)
self._meta.model.objects.filter(pk__in=delete_ids).delete() finally:
except Exception as e: self.delete_instances.clear()
self.handle_import_error(result, e, raise_errors)
finally:
self.delete_instances.clear()
def validate_instance( def validate_instance(
self, instance, import_validation_errors=None, validate_unique=True self, instance, import_validation_errors=None, validate_unique=True
@ -309,12 +300,11 @@ class Resource(metaclass=DeclarativeMetaclass):
self.create_instances.append(instance) self.create_instances.append(instance)
else: else:
self.update_instances.append(instance) self.update_instances.append(instance)
elif not self._is_using_transactions(kwargs) and self._is_dry_run(kwargs):
# we don't have transactions and we want to do a dry_run
pass
else: else:
if not self._is_using_transactions(kwargs) and self._is_dry_run(kwargs): self.do_instance_save(instance, is_create)
# we don't have transactions and we want to do a dry_run
pass
else:
self.do_instance_save(instance, is_create)
self.after_save_instance(instance, row, **kwargs) self.after_save_instance(instance, row, **kwargs)
def do_instance_save(self, instance, is_create): def do_instance_save(self, instance, is_create):
@ -370,12 +360,11 @@ class Resource(metaclass=DeclarativeMetaclass):
self.before_delete_instance(instance, row, **kwargs) self.before_delete_instance(instance, row, **kwargs)
if self._meta.use_bulk: if self._meta.use_bulk:
self.delete_instances.append(instance) self.delete_instances.append(instance)
elif not self._is_using_transactions(kwargs) and self._is_dry_run(kwargs):
# we don't have transactions and we want to do a dry_run
pass
else: else:
if not self._is_using_transactions(kwargs) and self._is_dry_run(kwargs): instance.delete()
# we don't have transactions and we want to do a dry_run
pass
else:
instance.delete()
self.after_delete_instance(instance, row, **kwargs) self.after_delete_instance(instance, row, **kwargs)
def before_delete_instance(self, instance, row, **kwargs): def before_delete_instance(self, instance, row, **kwargs):
@ -433,9 +422,11 @@ class Resource(metaclass=DeclarativeMetaclass):
def get_import_fields(self): def get_import_fields(self):
import_fields = [] import_fields = []
missing = object()
for field_name in self.get_import_order(): for field_name in self.get_import_order():
if field_name in self.fields: field = self.fields.get(field_name, missing)
import_fields.append(self.fields[field_name]) if field is not missing:
import_fields.append(field)
continue continue
# issue 1815 # issue 1815
# allow for fields to be referenced by column_name in `fields` list # allow for fields to be referenced by column_name in `fields` list
@ -588,9 +579,8 @@ class Resource(metaclass=DeclarativeMetaclass):
v.pk for v in original_values v.pk for v in original_values
): ):
return False return False
else: elif field.get_value(instance) != field.get_value(original):
if field.get_value(instance) != field.get_value(original): return False
return False
return True return True
def get_diff_headers(self): def get_diff_headers(self):
@ -1110,8 +1100,10 @@ class Resource(metaclass=DeclarativeMetaclass):
def _select_field(self, target_field_name): def _select_field(self, target_field_name):
# select field from fields based on either declared name or column name # select field from fields based on either declared name or column name
if target_field_name in self.fields: missing = object()
return self.fields[target_field_name] field = self.fields.get(target_field_name, missing)
if field is not missing:
return field
for field_name, field in self.fields.items(): for field_name, field in self.fields.items():
if target_field_name == field.column_name: if target_field_name == field.column_name:
@ -1264,8 +1256,9 @@ class ModelResource(Resource, metaclass=ModelDeclarativeMetaclass):
if callable(getattr(f, "get_internal_type", None)): if callable(getattr(f, "get_internal_type", None)):
internal_type = f.get_internal_type() internal_type = f.get_internal_type()
if internal_type in cls.WIDGETS_MAP: widget_result = cls.WIDGETS_MAP.get(internal_type)
result = cls.WIDGETS_MAP[internal_type] if widget_result is not None:
result = widget_result
if isinstance(result, str): if isinstance(result, str):
result = getattr(cls, result)(f) result = getattr(cls, result)(f)
else: else:
@ -1274,8 +1267,9 @@ class ModelResource(Resource, metaclass=ModelDeclarativeMetaclass):
# of a standard field class. # of a standard field class.
# iterate base classes to determine the correct widget class to use. # iterate base classes to determine the correct widget class to use.
for base_class in f.__class__.__mro__: for base_class in f.__class__.__mro__:
if base_class.__name__ in cls.WIDGETS_MAP: widget_result = cls.WIDGETS_MAP.get(base_class.__name__)
result = cls.WIDGETS_MAP[base_class.__name__] if widget_result is not None:
result = widget_result
if isinstance(result, str): if isinstance(result, str):
result = getattr(cls, result)(f) result = getattr(cls, result)(f)
break break
@ -1379,18 +1373,72 @@ class ModelResource(Resource, metaclass=ModelDeclarativeMetaclass):
return cls.__name__ return cls.__name__
def modelresource_factory(model, resource_class=ModelResource): def modelresource_factory(
model,
resource_class=ModelResource,
meta_options=None,
custom_fields=None,
dehydrate_methods=None,
):
""" """
Factory for creating ``ModelResource`` class for given Django model. Factory for creating ``ModelResource`` class for given Django model.
This factory function creates a ``ModelResource`` class dynamically, with support
for custom fields, methods.
:param model: Django model class
:param resource_class: Base resource class (default: ModelResource)
:param meta_options: Meta options dictionary
:param custom_fields: Dictionary mapping field names to Field object
:param dehydrate_methods: Dictionary mapping field names
to dehydrate method (Callable)
:returns: ModelResource class
""" """
attrs = {"model": model}
Meta = type("Meta", (object,), attrs)
class_name = model.__name__ + "Resource" def _create_dehydrate_func_wrapper(func):
def wrapper(self, obj):
return func(obj)
class_attrs = { return wrapper
if meta_options is None:
meta_options = {}
if custom_fields is None:
custom_fields = {}
if dehydrate_methods is None:
dehydrate_methods = {}
for field_name, field in custom_fields.items():
if not isinstance(field, Field):
raise ValueError(
f"custom_fields['{field_name}'] must be a Field instance, "
f"got {type(field).__name__}"
)
meta_class_attrs = {**meta_options, "model": model}
Meta = type("Meta", (object,), meta_class_attrs)
resource_class_name = model.__name__ + "Resource"
resource_class_attrs = {
"Meta": Meta, "Meta": Meta,
} }
resource_class_attrs.update(custom_fields)
for field_name, method in dehydrate_methods.items():
if not callable(method):
raise ValueError(
f"dehydrate_methods['{field_name}'] must be callable, "
f"got {type(method).__name__}"
)
method_name = f"dehydrate_{field_name}"
resource_class_attrs[method_name] = _create_dehydrate_func_wrapper(method)
metaclass = ModelDeclarativeMetaclass metaclass = ModelDeclarativeMetaclass
return metaclass(class_name, (resource_class,), class_attrs) return metaclass(resource_class_name, (resource_class,), resource_class_attrs)

View File

@ -26,6 +26,24 @@ function onResourceSelected(e) {
hideUnselectedResourceFields(resourceIndex); hideUnselectedResourceFields(resourceIndex);
} }
function onSelectToggleChange(e) {
/*
* Handles a checkbox click event to select / deselect all field checkboxes.
*/
const select = e.target;
const isChecked = select.checked;
if (isChecked) {
document.querySelectorAll('.selectable-field-export-row input[type="checkbox"]').forEach((checkbox) => {
checkbox.checked = true;
});
} else {
document.querySelectorAll('.selectable-field-export-row input[type="checkbox"]').forEach((checkbox) => {
checkbox.checked = false;
});
}
}
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const resourceSelector = document.querySelector("#id_resource"); const resourceSelector = document.querySelector("#id_resource");

View File

@ -13,21 +13,23 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if form.errors %}
{{ form.errors }}
{% endif %}
<form action="{{ export_url }}" method="POST"> <form action="{{ export_url }}" method="POST">
{% csrf_token %} {% csrf_token %}
{# export request has originated from an Admin UI action #} {# export request has originated from an Admin UI action #}
{% if form.initial.export_items %} {% if form.initial.export_items %}
<p> <p>
{% blocktranslate count len=form.initial.export_items|length %} {% blocktranslate count len=form.initial.export_items|length trimmed %}
Export {{ len }} selected item. Export {{ len }} selected item.
{% plural %} {% plural %}
Export {{ len }} selected items. Export {{ len }} selected items.
{% endblocktranslate %} {% endblocktranslate %}
</p> </p>
{% endif %} {% endif %}
{% if form.export_items.errors %}
<div class="error">
{{ form.export_items.errors }}
</div>
{% endif %}
{# fields list is not required with selectable fields form #} {# fields list is not required with selectable fields form #}
{% if not form.is_selectable_fields_form %} {% if not form.is_selectable_fields_form %}
@ -49,9 +51,17 @@
> >
{% if field.field.initial_field %} {% if field.field.initial_field %}
<p style="padding: 0;">{% translate "This exporter will export the following fields: " %}</p> <p style="padding: 0;">{% translate "This exporter will export the following fields: " %}</p>
{% if form.visible_fields|length >= 2 %}
<div>
<input type="checkbox" class="select-toggle" name="select-all-toggle"
onchange="onSelectToggleChange(event)" checked>
<label style="font-weight: bold;" for="select-all-toggle">{% translate "Select all" %}
</label>
</div>
{% endif %}
{% endif %} {% endif %}
{{ field.errors }} {{ field.errors }}
{% if not field.field.is_selectable_field %} {% if not field.field.is_selectable_field %}
{{ field.label_tag }} {{ field.label_tag }}
{% endif %} {% endif %}
@ -78,7 +88,9 @@
</fieldset> </fieldset>
<div> <div>
{{ form.non_field_errors }} {% if form.non_field_errors %}
{{ form.non_field_errors }}
{% endif %}
</div> </div>
<div class="submit-row"> <div class="submit-row">

View File

@ -68,6 +68,8 @@
</fieldset> </fieldset>
{% endblock %} {% endblock %}
{{ form.non_field_errors }}
{% block form_submit_button %} {% block form_submit_button %}
<div class="submit-row"> <div class="submit-row">
<input type="submit" class="default" value="{% translate "Submit" %}"> <input type="submit" class="default" value="{% translate "Submit" %}">

View File

@ -182,7 +182,6 @@ class CharWidget(Widget):
return force_str(val) return force_str(val)
def render(self, value, obj=None, **kwargs): def render(self, value, obj=None, **kwargs):
# FIXME - how are nulls exported to XLSX
self._obj_deprecation_warning(obj) self._obj_deprecation_warning(obj)
if self.coerce_to_string: if self.coerce_to_string:
return "" if value is None else force_str(value) return "" if value is None else force_str(value)

View File

@ -19,8 +19,8 @@ dynamic = ["version"]
classifiers = [ classifiers = [
"Framework :: Django", "Framework :: Django",
"Framework :: Django :: 4.2", "Framework :: Django :: 4.2",
"Framework :: Django :: 5.0",
"Framework :: Django :: 5.1", "Framework :: Django :: 5.1",
"Framework :: Django :: 5.2",
"Intended Audience :: Developers", "Intended Audience :: Developers",
"License :: OSI Approved :: BSD License", "License :: OSI Approved :: BSD License",
"Operating System :: OS Independent", "Operating System :: OS Independent",
@ -54,10 +54,11 @@ yaml = ["tablib[yaml]"]
docs = [ docs = [
"sphinx==8.1.3", "sphinx==8.1.3",
"sphinx-rtd-theme==3.0.1", "sphinx-rtd-theme==3.0.1",
"openpyxl==3.1.5" "openpyxl==3.1.5",
"psycopg[binary]>=3.2.9",
] ]
tests = [ tests = [
"psycopg2-binary==2.9.10", "psycopg[binary]>=3.2.9",
"mysqlclient==2.2.5", "mysqlclient==2.2.5",
"chardet==5.2.0", "chardet==5.2.0",
"pytz==2024.2", "pytz==2024.2",

View File

@ -187,6 +187,19 @@ class ExportAdminIntegrationTest(AdminTestMixin, TestCase):
target_msg = "Some unknown error" target_msg = "Some unknown error"
self.assertIn(target_msg, response.content.decode()) self.assertIn(target_msg, response.content.decode())
def test_get_export_FormError_occurrence(self):
# issue 2065
data = {
"format": "0",
"resource": 1,
"booknameresource_id": False,
"booknameresource_name": False,
}
response = self._post_url_response(self.book_export_url, data)
target_msg = "Select at least 1 field"
# Validate the occurrence of the error message should be 1
self.assertEqual(response.content.decode().count(target_msg), 1)
def test_export_second_resource(self): def test_export_second_resource(self):
self._get_url_response( self._get_url_response(
self.book_export_url, str_in_response="Export/Import only book names" self.book_export_url, str_in_response="Export/Import only book names"

View File

@ -7,6 +7,7 @@ from core.models import Author, Book, EBook
from core.tests.admin_integration.mixins import AdminTestMixin from core.tests.admin_integration.mixins import AdminTestMixin
from django.contrib.admin.sites import AdminSite from django.contrib.admin.sites import AdminSite
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
from django.test import RequestFactory from django.test import RequestFactory
from django.test.testcases import TestCase from django.test.testcases import TestCase
from django.test.utils import override_settings from django.test.utils import override_settings
@ -46,6 +47,15 @@ class ImportErrorHandlingTests(AdminTestMixin, TestCase):
) )
self.assertFormError(response.context["form"], "import_file", target_msg) self.assertFormError(response.context["form"], "import_file", target_msg)
def test_import_action_handles_NonFieldError(self):
# issue 2070
with mock.patch("django.forms.Form.clean") as mock_clean:
mock_clean.side_effect = ValidationError("some non field error")
response = self._do_import_post(self.book_import_url, "books.csv")
self.assertEqual(response.status_code, 200)
target_msg = "some non field error"
self.assertIn(target_msg, response.content.decode())
def test_import_action_handles_FieldError(self): def test_import_action_handles_FieldError(self):
# issue 1722 # issue 1722
with mock.patch( with mock.patch(
@ -139,6 +149,50 @@ class ImportErrorHandlingTests(AdminTestMixin, TestCase):
).format(1, 0, 0, 0, EBook._meta.verbose_name_plural), ).format(1, 0, 0, 0, EBook._meta.verbose_name_plural),
) )
def test_confirm_import_handles_non_field_error(self):
"""Test if admin import handles errors gracefully when confirm_form is
has a non-field error. See #2070.
"""
Author.objects.create(id=11, name="Test Author")
# GET the import form
response = self._get_url_response(
self.ebook_import_url, str_in_response='form action=""'
)
self.assertTemplateUsed(response, self.admin_import_template_url)
# POST the import form
input_format = "0"
filename = os.path.join(
os.path.dirname(__file__),
os.path.pardir,
os.path.pardir,
"exports",
"books.csv",
)
with open(filename, "rb") as fobj:
data = {"author": 11, "format": input_format, "import_file": fobj}
response = self._post_url_response(self.ebook_import_url, data)
self.assertIn("result", response.context)
self.assertFalse(response.context["result"].has_errors())
self.assertIn("confirm_form", response.context)
confirm_form = response.context["confirm_form"]
self.assertIsInstance(
confirm_form,
CustomBookAdmin(EBook, "ebook/import").get_confirm_form_class(None),
)
data = confirm_form.initial
self.assertEqual(data["original_file_name"], "books.csv")
with mock.patch("django.forms.Form.clean") as mock_clean:
mock_clean.side_effect = ValidationError("some non field error")
response = self._post_url_response(
self.ebook_process_import_url, data, follow=True
)
target_msg = "some non field error"
self.assertIn(target_msg, response.content.decode())
def test_import_action_invalid_date(self): def test_import_action_invalid_date(self):
# test that a row with an invalid date redirects to errors page # test that a row with an invalid date redirects to errors page
index = self._get_input_format_index("csv") index = self._get_input_format_index("csv")

View File

@ -3,6 +3,8 @@ from datetime import date
import tablib import tablib
from core.admin import BookResource from core.admin import BookResource
from core.models import Author, Book, EBook from core.models import Author, Book, EBook
from django.db.models import CharField, Value
from django.db.models.functions import Cast, JSONObject, TruncDate
from django.test import TestCase from django.test import TestCase
from import_export.fields import Field from import_export.fields import Field
@ -117,3 +119,62 @@ class ExportFunctionalityTest(TestCase):
self.book.save() self.book.save()
dataset = resource.export() dataset = resource.export()
self.assertEqual("Ian Fleming", dataset.dict[0]["Author Name"]) self.assertEqual("Ian Fleming", dataset.dict[0]["Author Name"])
def test_export_declared_field_value_and_dict_key(self):
# Test when attribute value is a dict and
# you want to access to return an specific key value
class EBookResource(ModelResource):
author_name = Field(
attribute="author_json__name", column_name="Author Name"
)
author_birthdate = Field(
attribute="author_json__birthdate", column_name="Author Birthdate"
)
custom_attribute = Field(
attribute="author_json__none_attribute_value__non_existentattribute",
column_name="Custom Attribute",
)
class Meta:
model = EBook
fields = ("id", "author_name", "author_birthdate", "custom_attribute")
self.book.author = Author.objects.get(pk=5)
self.book.save()
resource = EBookResource()
author_json_value = {
"name": "Ian Fleming",
"birthdate": "1908-05-28",
"none_attribute_value": None,
}
queryset = EBook.objects.annotate(
author_json=JSONObject(
name=("author__name"),
birthdate=Cast(TruncDate("author__birthday"), output_field=CharField()),
none_attribute_value=Value(None), # it will treat this as a JSON null
)
)
self.assertDictEqual(queryset.first().author_json, author_json_value)
dataset = resource.export(queryset=queryset)
self.assertEqual(dataset.dict[0]["Author Name"], "Ian Fleming")
self.assertEqual(dataset.dict[0]["Author Birthdate"], "1908-05-28")
self.assertEqual(dataset.dict[0]["Custom Attribute"], "")
queryset = queryset.values("author_json")
self.assertDictEqual(queryset.first(), {"author_json": author_json_value})
dataset = resource.export(queryset=queryset)
self.assertEqual(dataset.dict[0]["Author Name"], "Ian Fleming")
self.assertEqual(dataset.dict[0]["Author Birthdate"], "1908-05-28")
self.assertEqual(dataset.dict[0]["Custom Attribute"], "")
author_json_value["birthdate"] = None
author_json_value.pop("none_attribute_value")
queryset = EBook.objects.annotate(
author_json=JSONObject(name="author__name", birthdate=Value(None))
)
self.assertDictEqual(queryset.first().author_json, author_json_value)
dataset = resource.export(queryset=queryset)
self.assertEqual(dataset.dict[0]["Author Name"], "Ian Fleming")
self.assertEqual(dataset.dict[0]["Author Birthdate"], "")
self.assertEqual(dataset.dict[0]["Custom Attribute"], "")

View File

@ -1,7 +1,7 @@
from core.models import Book from core.models import Author, Book
from django.test import TestCase from django.test import TestCase
from import_export import resources from import_export import fields, resources, widgets
class ModelResourceFactoryTest(TestCase): class ModelResourceFactoryTest(TestCase):
@ -9,3 +9,241 @@ class ModelResourceFactoryTest(TestCase):
BookResource = resources.modelresource_factory(Book) BookResource = resources.modelresource_factory(Book)
self.assertIn("id", BookResource.fields) self.assertIn("id", BookResource.fields)
self.assertEqual(BookResource._meta.model, Book) self.assertEqual(BookResource._meta.model, Book)
def test_create_with_meta(self):
BookResource = resources.modelresource_factory(
Book, meta_options={"clean_model_instances": True}
)
self.assertEqual(BookResource._meta.clean_model_instances, True)
def test_create_with_meta_options(self):
BookResource = resources.modelresource_factory(
Book,
meta_options={
"fields": ("id", "name"),
"exclude": ("imported",),
"use_bulk": True,
"clean_model_instances": True,
},
)
self.assertEqual(BookResource._meta.fields, ("id", "name"))
self.assertEqual(BookResource._meta.exclude, ("imported",))
self.assertTrue(BookResource._meta.use_bulk)
self.assertTrue(BookResource._meta.clean_model_instances)
def test_custom_fields(self):
custom_field = fields.Field(column_name="Custom Title", readonly=True)
BookResource = resources.modelresource_factory(
Book, custom_fields={"custom_title": custom_field}
)
self.assertIn("custom_title", BookResource.fields)
self.assertEqual(BookResource.fields["custom_title"], custom_field)
self.assertEqual(
BookResource.fields["custom_title"].column_name, "Custom Title"
)
self.assertTrue(BookResource.fields["custom_title"].readonly)
def test_custom_fields_validation(self):
with self.assertRaises(ValueError) as cm:
resources.modelresource_factory(
Book, custom_fields={"invalid_field": "not a field object"}
)
self.assertIn("must be a Field instance", str(cm.exception))
self.assertIn("custom_fields['invalid_field']", str(cm.exception))
def test_dehydrate_methods(self):
def custom_dehydrate_custom_title(obj):
return f"{obj.name} - Custom"
BookResource = resources.modelresource_factory(
Book,
custom_fields={"custom_title": fields.Field(column_name="Custom Title")},
dehydrate_methods={"custom_title": custom_dehydrate_custom_title},
)
self.assertTrue(hasattr(BookResource, "dehydrate_custom_title"))
resource = BookResource()
book = Book.objects.create(name="Test Book")
result = resource.dehydrate_custom_title(book)
self.assertEqual(result, "Test Book - Custom")
def test_dehydrate_methods_validation(self):
with self.assertRaises(ValueError) as cm:
resources.modelresource_factory(
Book, dehydrate_methods={"field_name": "not callable"}
)
self.assertIn("must be callable", str(cm.exception))
self.assertIn("dehydrate_methods['field_name']", str(cm.exception))
def test_lambda_dehydrate_methods(self):
BookResource = resources.modelresource_factory(
Book,
custom_fields={"custom_title": fields.Field(column_name="Custom Title")},
dehydrate_methods={
"custom_title": (
lambda obj: (
f"{obj.name} by {getattr(obj.author, 'name', 'Unknown')}"
)
)
},
)
author = Author.objects.create(name="Test Author")
book = Book.objects.create(name="Test Book", author=author)
resource = BookResource()
result = resource.dehydrate_custom_title(book)
self.assertEqual(result, "Test Book by Test Author")
book_no_author = Book.objects.create(name="Book")
result = resource.dehydrate_custom_title(book_no_author)
self.assertEqual(result, "Book by Unknown")
def test_comprehensive_example(self):
"""Test a comprehensive example with multiple features"""
BookResource = resources.modelresource_factory(
Book,
meta_options={
"fields": ("id", "name", "author", "custom_title", "status"),
"import_id_fields": ("name",),
"use_bulk": True,
},
custom_fields={
"custom_title": fields.Field(column_name="Custom Title", readonly=True),
"status": fields.Field(
attribute="imported",
column_name="Import Status",
widget=widgets.BooleanWidget(),
),
},
dehydrate_methods={"custom_title": lambda obj: f"{obj.name} - {obj.pk}"},
)
resource = BookResource()
self.assertEqual(
resource._meta.fields, ("id", "name", "author", "custom_title", "status")
)
self.assertEqual(resource._meta.import_id_fields, ("name",))
self.assertTrue(resource._meta.use_bulk)
self.assertIn("custom_title", resource.fields)
self.assertIn("status", resource.fields)
self.assertTrue(resource.fields["custom_title"].readonly)
self.assertTrue(hasattr(resource, "dehydrate_custom_title"))
book = Book.objects.create(name="Test Book")
custom_title_result = resource.dehydrate_custom_title(book)
self.assertEqual(custom_title_result, f"Test Book - {book.pk}")
dataset = resource.export([book])
self.assertEqual(len(dataset), 1)
def test_field_with_dehydrate_method_attribute(self):
BookResource1 = resources.modelresource_factory(
Book,
custom_fields={
"custom_title": fields.Field(
column_name="Custom Title",
dehydrate_method=lambda obj: f"Field method: {obj.name}",
)
},
)
BookResource2 = resources.modelresource_factory(
Book,
custom_fields={"custom_title": fields.Field(column_name="Custom Title")},
dehydrate_methods={
"custom_title": lambda obj: f"Factory method: {obj.name}"
},
)
book = Book.objects.create(name="Test Book")
resource1 = BookResource1()
field1 = resource1.fields["custom_title"]
self.assertTrue(callable(field1.dehydrate_method))
resource2 = BookResource2()
self.assertTrue(hasattr(resource2, "dehydrate_custom_title"))
result2 = resource2.dehydrate_custom_title(book)
self.assertEqual(result2, "Factory method: Test Book")
def test_empty_parameters(self):
BookResource = resources.modelresource_factory(
Book,
custom_fields={},
dehydrate_methods={},
)
self.assertIn("id", BookResource.fields)
self.assertEqual(BookResource._meta.model, Book)
def test_resource_class_inheritance(self):
class CustomModelResource(resources.ModelResource):
def custom_method(self):
return "custom"
BookResource = resources.modelresource_factory(
Book,
resource_class=CustomModelResource,
)
resource = BookResource()
self.assertTrue(hasattr(resource, "custom_method"))
self.assertEqual(resource.custom_method(), "custom")
def test_widgets_in_meta_options(self):
BookResource = resources.modelresource_factory(
Book,
meta_options={
"fields": ("id", "name", "price"),
"widgets": {
"price": {"coerce_to_string": True},
"name": {"coerce_to_string": True},
},
},
)
# Check that meta options were set correctly
self.assertEqual(BookResource._meta.fields, ("id", "name", "price"))
self.assertIn("price", BookResource._meta.widgets)
self.assertIn("name", BookResource._meta.widgets)
def test_complex_meta_options(self):
"""Test complex meta options configuration"""
BookResource = resources.modelresource_factory(
Book,
meta_options={
"fields": ("id", "name", "author", "price"),
"exclude": ("imported",),
"import_id_fields": ("name",),
"export_order": ("name", "author", "price", "id"),
"use_bulk": True,
"batch_size": 500,
"skip_unchanged": True,
"clean_model_instances": True,
"widgets": {"price": {"coerce_to_string": True}},
},
)
resource = BookResource()
# Verify all meta options
self.assertEqual(resource._meta.fields, ("id", "name", "author", "price"))
self.assertEqual(resource._meta.exclude, ("imported",))
self.assertEqual(resource._meta.import_id_fields, ("name",))
self.assertEqual(resource._meta.export_order, ("name", "author", "price", "id"))
self.assertTrue(resource._meta.use_bulk)
self.assertEqual(resource._meta.batch_size, 500)
self.assertTrue(resource._meta.skip_unchanged)
self.assertTrue(resource._meta.clean_model_instances)
self.assertIn("price", resource._meta.widgets)

View File

@ -21,7 +21,6 @@ class ModelResourceFieldDeclarations(TestCase):
fields = ("id", "price") fields = ("id", "price")
def setUp(self): def setUp(self):
self.book = Book.objects.create(name="Moonraker", price=".99") self.book = Book.objects.create(name="Moonraker", price=".99")
self.resource = ModelResourceFieldDeclarations.MyBookResource() self.resource = ModelResourceFieldDeclarations.MyBookResource()
@ -173,3 +172,75 @@ class ModelResourceDeclarationsNotInImportTest(TestCase):
self.assertEqual("", self.book.author_email) self.assertEqual("", self.book.author_email)
data = self.resource.export() data = self.resource.export()
self.assertFalse("author_email" in data.dict[0]) self.assertFalse("author_email" in data.dict[0])
class ModelResourceUnusedFieldWarnings(TestCase):
"""
Model Resources should warn on ignored declared fields, but only if
they are declared on the current class.
Ref: #2017
"""
class _BaseBookResource(resources.ModelResource):
name = fields.Field(
attribute="name",
)
imported = fields.Field(
attribute="imported",
)
price = fields.Field(
attribute="price",
)
class Meta:
model = Book
fields = (
"name",
"imported",
"price",
)
def setUp(self):
# Enable warnings for this test
warnings.simplefilter("default")
def test_no_warnings_defined_fields(self):
"""
A subclass that lists a subset of the parents defined fields
should receive no warnings.
"""
with warnings.catch_warnings(record=True) as w:
class _Export1BookResource(self._BaseBookResource):
class Meta:
fields = (
"name",
"imported",
)
# expect no warnings
self.assertEqual(len(w), 0)
def test_declared_field_expect_warning(self):
"""
A class that defines a field, but doesn't list it in fields
should receive a warning with the name of the field and the
class name
"""
with warnings.catch_warnings(record=True) as w:
class _Export2BookResource(self._BaseBookResource):
published = fields.Field(attribute="published")
published_time = fields.Field(attribute="published_time")
class Meta:
fields = ("author_email", "imported", "published_time")
self.assertEqual(len(w), 1)
self.assertIs(w[0].category, UserWarning)
self.assertIn(
"_Export2BookResource: ignoring field 'published' because not"
" declared in 'fields' whitelist",
str(w[0].message),
)

View File

@ -8,7 +8,7 @@ services:
IMPORT_EXPORT_POSTGRESQL_USER: ${IMPORT_EXPORT_POSTGRESQL_USER} IMPORT_EXPORT_POSTGRESQL_USER: ${IMPORT_EXPORT_POSTGRESQL_USER}
IMPORT_EXPORT_POSTGRESQL_PASSWORD: ${IMPORT_EXPORT_POSTGRESQL_PASSWORD} IMPORT_EXPORT_POSTGRESQL_PASSWORD: ${IMPORT_EXPORT_POSTGRESQL_PASSWORD}
POSTGRES_PASSWORD: ${IMPORT_EXPORT_POSTGRESQL_PASSWORD} POSTGRES_PASSWORD: ${IMPORT_EXPORT_POSTGRESQL_PASSWORD}
image: postgres:13 image: postgres:14
restart: "no" restart: "no"
ports: ports:
- "${IMPORT_EXPORT_POSTGRESQL_PORT:-5432}:5432" - "${IMPORT_EXPORT_POSTGRESQL_PORT:-5432}:5432"
@ -16,7 +16,7 @@ services:
- ./docker/db/init-postgres-db.sh/:/docker-entrypoint-initdb.d/init-postgres-db.sh - ./docker/db/init-postgres-db.sh/:/docker-entrypoint-initdb.d/init-postgres-db.sh
- postgres-db-data:/var/lib/postgresql/data - postgres-db-data:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'"] test: ["CMD-SHELL", "pg_isready -U \"${IMPORT_EXPORT_POSTGRESQL_USER}\" -d \"import_export\""]
interval: 10s interval: 10s
timeout: 3s timeout: 3s
retries: 3 retries: 3

View File

@ -10,6 +10,7 @@ INSTALLED_APPS = [
"django.contrib.sessions", "django.contrib.sessions",
"django.contrib.messages", "django.contrib.messages",
"django.contrib.sites", "django.contrib.sites",
"django.contrib.postgres",
"import_export", "import_export",
"core", "core",
] ]

View File

@ -1,9 +1,9 @@
[tox] [tox]
min_version = 4.0 min_version = 4.0
envlist = envlist =
{py39,py310,py311}-{django42} py{39,310,311}-django{42}
{py310,py311,py312,py313}-{django50,django51} py{310,311,312,313}-django{51,52}
{py312,py313}-djangomain py{312,313}-djangomain
py313-djangomain-tablibdev py313-djangomain-tablibdev
[gh-actions] [gh-actions]
@ -26,8 +26,8 @@ commands =
deps = deps =
tablibdev: -egit+https://github.com/jazzband/tablib.git@master\#egg=tablib tablibdev: -egit+https://github.com/jazzband/tablib.git@master\#egg=tablib
django42: Django>=4.2,<5.0 django42: Django>=4.2,<5.0
django50: Django>=5.0,<5.1
django51: Django>=5.1,<5.2 django51: Django>=5.1,<5.2
django52: Django>=5.2,<5.3
djangomain: https://github.com/django/django/archive/main.tar.gz djangomain: https://github.com/django/django/archive/main.tar.gz
.[tests] .[tests]