././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/0000700000175000017500000000000000000000000016536 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616406348.0 django-phonenumber-field-5.2.0/AUTHORS0000600000175000017500000000622300000000000017613 0ustar00freitafrfreitafrackepenek Alan Andre Leitao Andrew Pinkham Andrzej Mateja Andy Kish Ari Todtfeld Arnak Melikyan ArsyiAziz Basil Dubyk Ben Konrath Björn Andersson Craig Loftus Cristi Vîjdea cuchac David Cormier Dmitriy Kalinin Elena Rogleva Emin Mastizada Fábio Thomaz Folkert Francesco Facconi François Freitag g89250741413 Giacomo Graziosi Greg Kaleka Gregory Favre grigna Hugo Osvaldo Barrera hwkns Illya ILUXONCHIK Jacob Rief Jeff Bowen jendas1 Joao S. López John Vandenberg Jonas Lidén Jonathan Stoppani Jon Dufresne Jose Flores kedrrr <52245626+kedrrr@users.noreply.github.com> Kevin Brown Kevin Michel Konstantin Pavlovsky Kristian Klette lampslave László Károlyi Logan Gunthorpe Luci Furtun Ludovic Gasc Luis Rodrigues Maik Hoepfel Mariusz Felisiak Matthew Wilkes Meir Misha Kalyna Mitar Murad nferrari Nicolas Appriou Nikita Kolesnikov Omer Katz Paolo Melchiorre Philippe O. Wagner punkyoon Ramiel Rami Jarrar René Tronsgaard Rasmussen Roman Tolkachyov roybi Saugat Pachhai Sergio Garro Skia Stefan Foulis Stéphane Raimbault Steven Mapes Stu Cox tanvir hasan themarcq Thijs Triemstra Tim Schneider Tim Tisdall Tomas Dobrovolny TonyxDz Tyler Redzko Ville Skyttä Vitaly Babiy Wentao Han ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474663.0 django-phonenumber-field-5.2.0/CHANGELOG.rst0000600000175000017500000001300000000000000020553 0ustar00freitafrfreitafrCHANGELOG ========= 5.2.0 (2021-05-31) ------------------ * Lazy load ``formfields.PhoneNumberField`` translation for ``invalid`` data. * Update Russian translations **Backwards incompatible changes** * Drop support for end-of-life Django 3.0 5.1.0 (2021-04-02) ------------------ * Allow sorting ``PhoneNumber``\ s from Python * Add support for Python 3.9 and Django 3.2 * Add Argentinian, Bulgarian, Indonesian, Ukrainian translations * Update Esperanto and European Spanish translations **Backwards incompatible changes** * Drop support for Python 3.5 5.0.0 (2020-08-17) ------------------ * Add support for Django 3.1. * Fix rendering ``PhonePrefixSelect`` with ``initial`` passed to the constructor. * The Babel dependency is now optional. * Switched to setuptools declarative configuration for packaging and installation. * Add Arabic and Russian translation. * Correct License information in package metadata. **Backwards incompatible changes** * Drop support for end-of-life Django 1.11 and 2.1. * As the Babel dependency is now optional, you must now install it to use ``PhoneNumberPrefixWidget``. If you do not install it, an ``ImproperlyConfigured`` exception will be raised when instantiated. 4.0.0 (2019-12-06) ------------------ The big version bump is due to the change in how invalid phone numbers are handled. Starting with ``2.4.0`` we added very aggressive validation, which raised ``ValueError`` for invalid numbers. This caused problems in unexpected places (like when filtering a queryset). Starting with ``4.0.0`` we acknowledge that we can not completely prevent invalid numbers from entering the system. Changes directly to the database, validation changes in the upstream phonenumbers library, changes in the django settings may all lead to invalid numbers in the database. Now it is possible to save an invalid number to the database and ``__str__`` and ``__repr__`` clearly indicate invalid numbers. * Don’t raise ``ValueError`` on invalid phone numbers - ``__str__`` and ``__repr__`` updated to report invalid phone numbers correctly if detected. * Various translation updates 3.0.1 (2019-05-28) ------------------ * Allow overriding the default invalid phone number message. 3.0.0 (2019-05-28) ------------------ * Update French and Hebrew translations. * Add a valid phone number example to invalid phone number error messages. **Backwards incompatible changes** * Drop support for Django 2.0. * Drop support for Python 2.7 and 3.4. 2.4.0 (2019-05-06) ------------------ * A ``PhoneNumberField`` can now be deferred with ``QuerySet.defer()``. * Saving or filtering by an invalid phone number will now raise a ``ValueError``. * The model field attribute ``PhoneNumberField.region`` now uses ``PHONENUMBER_DEFAULT_REGION`` if not specified. 2.3.1 (2019-03-26) ------------------ * Fixed a regression to re-allow the model field to override the default form field. 2.3.0 (2019-03-26) ------------------ * Added the ``region`` keyword argument to ``PhoneNumberField``. * Fix representation of invalid phone numbers in the database, previously stored as ``+NoneNone``. Now, invalid phone numbers are represented as: 1. the field's `default`_ when it is specified, or 2. empty ``str`` if the field is `blank`_ and not `null`_, or 3. null. Existing database records can be upgraded with a `data migration`_. * Added support for Django 2.2. * Tests are now included in the sdist package. * ``modelfields.PhoneNumberField`` now inherits from ``models.CharField`` instead of ``models.Field``. .. _default: https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.default .. _blank: https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.blank .. _null: https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.null .. _data migration: https://docs.djangoproject.com/en/dev/topics/migrations/#data-migrations 2.2.0 (2019-01-27) ------------------ * Added support for ``null=True`` 2.1.0 (2018-10-28) ------------------ * Removed hardcoded dependency to phonenumbers library. Now developers have to manually install either phonenumbers or phonenumberslite. * Added Romanian locale * Added Bangla locale * Update French locale * Update Italian locale 2.0.1 (2018-08-19) ------------------ * Statically depend on phonenumbers Previously the phonenumberslight dependency was used dynamically in setup.py if it already was installed, causing problems with building wheels and with pipenv. * Added Ukrainian locale * Added Simplified Chinese locale 2.0.0 (2018-01-04) ------------------ * Add Django 2.0 support * Drop Support for Django<1.11 * Translations: Swedish 1.3.0 (2017-04-15) ------------------ * Add rest_framework Serializer * Hashable phonenumber object * Various bugfixes and improvements 1.2.0 (2017-03-17) ------------------ * Django 1.10 support * Bugfixes and cleanup * Translations: Brazilian Portuguese, Spanish, Norwegian, Dutch, Azerbaijani, Turkish and French 1.1.0 (2016-03-30) ------------------ * Django 1.9 support * README updated and links fixed * support for HTML5.0 tel input type added * locale files are now included * new translations: Danish, Esperanto, Polish, all translations reformatted, Russian translation expanded * PhoneNumberField.get_prep_value changed to enable setting ``null=True`` * new widget added: ``PhoneNumberInternationalFallbackWidget`` * new backward compatible requirement phonenumberslite instead of phonenumbers * lots of tests * dropped support for ``PHONENUMER_DEFAULT_REGION`` setting with typo ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/LICENSE0000600000175000017500000000206500000000000017550 0ustar00freitafrfreitafrCopyright (c) 2011 Stefan Foulis and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129365.0 django-phonenumber-field-5.2.0/MANIFEST.in0000600000175000017500000000013500000000000020275 0ustar00freitafrfreitafrexclude .gitignore exclude check-translations exclude sonar-project.properties prune .github ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/PKG-INFO0000600000175000017500000001133000000000000017633 0ustar00freitafrfreitafrMetadata-Version: 2.1 Name: django-phonenumber-field Version: 5.2.0 Summary: An international phone number field for django models. Home-page: https://github.com/stefanfoulis/django-phonenumber-field Author: Stefan Foulis Author-email: stefan@foulis.ch Maintainer: Stefan Foulis Maintainer-email: stefan@foulis.ch License: MIT Platform: OS Independent Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: Django Classifier: Framework :: Django :: 2.2 Classifier: Framework :: Django :: 3.1 Classifier: Framework :: Django :: 3.2 Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Topic :: Internet :: WWW/HTTP Requires-Python: >=3.6 Description-Content-Type: text/x-rst Provides-Extra: phonenumbers Provides-Extra: phonenumberslite License-File: LICENSE License-File: AUTHORS ======================== django-phonenumber-field ======================== .. image:: https://github.com/stefanfoulis/django-phonenumber-field/workflows/Test/badge.svg :target: https://github.com/stefanfoulis/django-phonenumber-field/workflows/Test/badge.svg .. image:: https://img.shields.io/coveralls/stefanfoulis/django-phonenumber-field/develop.svg :target: https://coveralls.io/github/stefanfoulis/django-phonenumber-field?branch=main A Django library which interfaces with `python-phonenumbers`_ to validate, pretty print and convert phone numbers. ``python-phonenumbers`` is a port of Google's `libphonenumber`_ library, which powers Android's phone number handling. .. _`python-phonenumbers`: https://github.com/daviddrysdale/python-phonenumbers .. _`libphonenumber`: https://code.google.com/p/libphonenumber/ Included are: * ``PhoneNumber``, a pythonic wrapper around ``python-phonenumbers``' ``PhoneNumber`` class * ``PhoneNumberField``, a model field * ``PhoneNumberField``, a form field * ``PhoneNumberField``, a serializer field * ``PhoneNumberPrefixWidget``, a form widget for selecting a region code and entering a national number. Requires the `Babel`_ package be installed. * ``PhoneNumberInternationalFallbackWidget``, a form widget that uses national numbers unless an international number is entered. A ``PHONENUMBER_DEFAULT_REGION`` setting needs to be added to your Django settings in order to know which national number format to recognize. The setting is a string containing an ISO-3166-1 two-letter country code. .. _`Babel`: https://pypi.org/project/Babel/ Installation ============ :: pip install django-phonenumber-field[phonenumbers] As an alternative to the ``phonenumbers`` package, it is possible to install the ``phonenumberslite`` package which has `a lower memory footprint `_. :: pip install django-phonenumber-field[phonenumberslite] Basic usage =========== First, add ``phonenumber_field`` to the list of the installed apps in your ``settings.py`` file:: INSTALLED_APPS = [ ... 'phonenumber_field', ... ] Then, you can use it like any regular model field:: from phonenumber_field.modelfields import PhoneNumberField class MyModel(models.Model): name = models.CharField(max_length=255) phone_number = PhoneNumberField() fax_number = PhoneNumberField(blank=True) Internally, PhoneNumberField is based upon ``CharField`` and by default represents the number as a string of an international phonenumber in the database (e.g ``'+41524204242'``). Representation can be set by ``PHONENUMBER_DB_FORMAT`` variable in django settings module. This variable must be one of ``'E164'``, ``'INTERNATIONAL'``, ``'NATIONAL'`` or ``'RFC3966'``. Recommended is one of the globally meaningful formats ``'E164'``, ``'INTERNATIONAL'`` or ``'RFC3966'``. ``'NATIONAL'`` format require to set up ``PHONENUMBER_DEFAULT_REGION`` variable. The object returned is a PhoneNumber instance, not a string. If strings are used to initialize it, e.g. via ``MyModel(phone_number='+41524204242')`` or form handling, it has to be a phone number with country code. Running tests ============= tox needs to be installed. To run the whole test matrix with the locally available Python interpreters and generate a combined coverage report:: tox run a specific combination:: tox -e py36-djmain,py39-djmain ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1617702355.0 django-phonenumber-field-5.2.0/README.rst0000600000175000017500000000664700000000000020244 0ustar00freitafrfreitafr======================== django-phonenumber-field ======================== .. image:: https://github.com/stefanfoulis/django-phonenumber-field/workflows/Test/badge.svg :target: https://github.com/stefanfoulis/django-phonenumber-field/workflows/Test/badge.svg .. image:: https://img.shields.io/coveralls/stefanfoulis/django-phonenumber-field/develop.svg :target: https://coveralls.io/github/stefanfoulis/django-phonenumber-field?branch=main A Django library which interfaces with `python-phonenumbers`_ to validate, pretty print and convert phone numbers. ``python-phonenumbers`` is a port of Google's `libphonenumber`_ library, which powers Android's phone number handling. .. _`python-phonenumbers`: https://github.com/daviddrysdale/python-phonenumbers .. _`libphonenumber`: https://code.google.com/p/libphonenumber/ Included are: * ``PhoneNumber``, a pythonic wrapper around ``python-phonenumbers``' ``PhoneNumber`` class * ``PhoneNumberField``, a model field * ``PhoneNumberField``, a form field * ``PhoneNumberField``, a serializer field * ``PhoneNumberPrefixWidget``, a form widget for selecting a region code and entering a national number. Requires the `Babel`_ package be installed. * ``PhoneNumberInternationalFallbackWidget``, a form widget that uses national numbers unless an international number is entered. A ``PHONENUMBER_DEFAULT_REGION`` setting needs to be added to your Django settings in order to know which national number format to recognize. The setting is a string containing an ISO-3166-1 two-letter country code. .. _`Babel`: https://pypi.org/project/Babel/ Installation ============ :: pip install django-phonenumber-field[phonenumbers] As an alternative to the ``phonenumbers`` package, it is possible to install the ``phonenumberslite`` package which has `a lower memory footprint `_. :: pip install django-phonenumber-field[phonenumberslite] Basic usage =========== First, add ``phonenumber_field`` to the list of the installed apps in your ``settings.py`` file:: INSTALLED_APPS = [ ... 'phonenumber_field', ... ] Then, you can use it like any regular model field:: from phonenumber_field.modelfields import PhoneNumberField class MyModel(models.Model): name = models.CharField(max_length=255) phone_number = PhoneNumberField() fax_number = PhoneNumberField(blank=True) Internally, PhoneNumberField is based upon ``CharField`` and by default represents the number as a string of an international phonenumber in the database (e.g ``'+41524204242'``). Representation can be set by ``PHONENUMBER_DB_FORMAT`` variable in django settings module. This variable must be one of ``'E164'``, ``'INTERNATIONAL'``, ``'NATIONAL'`` or ``'RFC3966'``. Recommended is one of the globally meaningful formats ``'E164'``, ``'INTERNATIONAL'`` or ``'RFC3966'``. ``'NATIONAL'`` format require to set up ``PHONENUMBER_DEFAULT_REGION`` variable. The object returned is a PhoneNumber instance, not a string. If strings are used to initialize it, e.g. via ``MyModel(phone_number='+41524204242')`` or form handling, it has to be a phone number with country code. Running tests ============= tox needs to be installed. To run the whole test matrix with the locally available Python interpreters and generate a combined coverage report:: tox run a specific combination:: tox -e py36-djmain,py39-djmain ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/django_phonenumber_field.egg-info/0000700000175000017500000000000000000000000025237 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474682.0 django-phonenumber-field-5.2.0/django_phonenumber_field.egg-info/PKG-INFO0000600000175000017500000001133000000000000026334 0ustar00freitafrfreitafrMetadata-Version: 2.1 Name: django-phonenumber-field Version: 5.2.0 Summary: An international phone number field for django models. Home-page: https://github.com/stefanfoulis/django-phonenumber-field Author: Stefan Foulis Author-email: stefan@foulis.ch Maintainer: Stefan Foulis Maintainer-email: stefan@foulis.ch License: MIT Platform: OS Independent Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: Django Classifier: Framework :: Django :: 2.2 Classifier: Framework :: Django :: 3.1 Classifier: Framework :: Django :: 3.2 Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Topic :: Internet :: WWW/HTTP Requires-Python: >=3.6 Description-Content-Type: text/x-rst Provides-Extra: phonenumbers Provides-Extra: phonenumberslite License-File: LICENSE License-File: AUTHORS ======================== django-phonenumber-field ======================== .. image:: https://github.com/stefanfoulis/django-phonenumber-field/workflows/Test/badge.svg :target: https://github.com/stefanfoulis/django-phonenumber-field/workflows/Test/badge.svg .. image:: https://img.shields.io/coveralls/stefanfoulis/django-phonenumber-field/develop.svg :target: https://coveralls.io/github/stefanfoulis/django-phonenumber-field?branch=main A Django library which interfaces with `python-phonenumbers`_ to validate, pretty print and convert phone numbers. ``python-phonenumbers`` is a port of Google's `libphonenumber`_ library, which powers Android's phone number handling. .. _`python-phonenumbers`: https://github.com/daviddrysdale/python-phonenumbers .. _`libphonenumber`: https://code.google.com/p/libphonenumber/ Included are: * ``PhoneNumber``, a pythonic wrapper around ``python-phonenumbers``' ``PhoneNumber`` class * ``PhoneNumberField``, a model field * ``PhoneNumberField``, a form field * ``PhoneNumberField``, a serializer field * ``PhoneNumberPrefixWidget``, a form widget for selecting a region code and entering a national number. Requires the `Babel`_ package be installed. * ``PhoneNumberInternationalFallbackWidget``, a form widget that uses national numbers unless an international number is entered. A ``PHONENUMBER_DEFAULT_REGION`` setting needs to be added to your Django settings in order to know which national number format to recognize. The setting is a string containing an ISO-3166-1 two-letter country code. .. _`Babel`: https://pypi.org/project/Babel/ Installation ============ :: pip install django-phonenumber-field[phonenumbers] As an alternative to the ``phonenumbers`` package, it is possible to install the ``phonenumberslite`` package which has `a lower memory footprint `_. :: pip install django-phonenumber-field[phonenumberslite] Basic usage =========== First, add ``phonenumber_field`` to the list of the installed apps in your ``settings.py`` file:: INSTALLED_APPS = [ ... 'phonenumber_field', ... ] Then, you can use it like any regular model field:: from phonenumber_field.modelfields import PhoneNumberField class MyModel(models.Model): name = models.CharField(max_length=255) phone_number = PhoneNumberField() fax_number = PhoneNumberField(blank=True) Internally, PhoneNumberField is based upon ``CharField`` and by default represents the number as a string of an international phonenumber in the database (e.g ``'+41524204242'``). Representation can be set by ``PHONENUMBER_DB_FORMAT`` variable in django settings module. This variable must be one of ``'E164'``, ``'INTERNATIONAL'``, ``'NATIONAL'`` or ``'RFC3966'``. Recommended is one of the globally meaningful formats ``'E164'``, ``'INTERNATIONAL'`` or ``'RFC3966'``. ``'NATIONAL'`` format require to set up ``PHONENUMBER_DEFAULT_REGION`` variable. The object returned is a PhoneNumber instance, not a string. If strings are used to initialize it, e.g. via ``MyModel(phone_number='+41524204242')`` or form handling, it has to be a phone number with country code. Running tests ============= tox needs to be installed. To run the whole test matrix with the locally available Python interpreters and generate a combined coverage report:: tox run a specific combination:: tox -e py36-djmain,py39-djmain ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474682.0 django-phonenumber-field-5.2.0/django_phonenumber_field.egg-info/SOURCES.txt0000600000175000017500000000732100000000000027130 0ustar00freitafrfreitafrAUTHORS CHANGELOG.rst LICENSE MANIFEST.in README.rst pyproject.toml setup.cfg setup.py tox.ini django_phonenumber_field.egg-info/PKG-INFO django_phonenumber_field.egg-info/SOURCES.txt django_phonenumber_field.egg-info/dependency_links.txt django_phonenumber_field.egg-info/not-zip-safe django_phonenumber_field.egg-info/requires.txt django_phonenumber_field.egg-info/top_level.txt phonenumber_field/__init__.py phonenumber_field/formfields.py phonenumber_field/modelfields.py phonenumber_field/phonenumber.py phonenumber_field/serializerfields.py phonenumber_field/validators.py phonenumber_field/version.py phonenumber_field/widgets.py phonenumber_field/locale/ar/LC_MESSAGES/django.mo phonenumber_field/locale/ar/LC_MESSAGES/django.po phonenumber_field/locale/az/LC_MESSAGES/django.mo phonenumber_field/locale/az/LC_MESSAGES/django.po phonenumber_field/locale/bg/LC_MESSAGES/django.mo phonenumber_field/locale/bg/LC_MESSAGES/django.po phonenumber_field/locale/bn/LC_MESSAGES/django.mo phonenumber_field/locale/bn/LC_MESSAGES/django.po phonenumber_field/locale/cs/LC_MESSAGES/django.mo phonenumber_field/locale/cs/LC_MESSAGES/django.po phonenumber_field/locale/da/LC_MESSAGES/django.mo phonenumber_field/locale/da/LC_MESSAGES/django.po phonenumber_field/locale/de/LC_MESSAGES/django.mo phonenumber_field/locale/de/LC_MESSAGES/django.po phonenumber_field/locale/eo/LC_MESSAGES/django.mo phonenumber_field/locale/eo/LC_MESSAGES/django.po phonenumber_field/locale/es/LC_MESSAGES/django.mo phonenumber_field/locale/es/LC_MESSAGES/django.po phonenumber_field/locale/es_AR/LC_MESSAGES/django.mo phonenumber_field/locale/es_AR/LC_MESSAGES/django.po phonenumber_field/locale/fi/LC_MESSAGES/django.mo phonenumber_field/locale/fi/LC_MESSAGES/django.po phonenumber_field/locale/fr/LC_MESSAGES/django.mo phonenumber_field/locale/fr/LC_MESSAGES/django.po phonenumber_field/locale/he/LC_MESSAGES/django.mo phonenumber_field/locale/he/LC_MESSAGES/django.po phonenumber_field/locale/hy/LC_MESSAGES/django.mo phonenumber_field/locale/hy/LC_MESSAGES/django.po phonenumber_field/locale/id/LC_MESSAGES/django.mo phonenumber_field/locale/id/LC_MESSAGES/django.po phonenumber_field/locale/it/LC_MESSAGES/django.mo phonenumber_field/locale/it/LC_MESSAGES/django.po phonenumber_field/locale/ko/LC_MESSAGES/django.mo phonenumber_field/locale/ko/LC_MESSAGES/django.po phonenumber_field/locale/nb/LC_MESSAGES/django.mo phonenumber_field/locale/nb/LC_MESSAGES/django.po phonenumber_field/locale/nl/LC_MESSAGES/django.mo phonenumber_field/locale/nl/LC_MESSAGES/django.po phonenumber_field/locale/pl/LC_MESSAGES/django.mo phonenumber_field/locale/pl/LC_MESSAGES/django.po phonenumber_field/locale/pt/LC_MESSAGES/django.mo phonenumber_field/locale/pt/LC_MESSAGES/django.po phonenumber_field/locale/pt_BR/LC_MESSAGES/django.mo phonenumber_field/locale/pt_BR/LC_MESSAGES/django.po phonenumber_field/locale/ro/LC_MESSAGES/django.mo phonenumber_field/locale/ro/LC_MESSAGES/django.po phonenumber_field/locale/ru/LC_MESSAGES/django.mo phonenumber_field/locale/ru/LC_MESSAGES/django.po phonenumber_field/locale/sk/LC_MESSAGES/django.mo phonenumber_field/locale/sk/LC_MESSAGES/django.po phonenumber_field/locale/sv/LC_MESSAGES/django.mo phonenumber_field/locale/sv/LC_MESSAGES/django.po phonenumber_field/locale/tr/LC_MESSAGES/django.mo phonenumber_field/locale/tr/LC_MESSAGES/django.po phonenumber_field/locale/uk/LC_MESSAGES/django.mo phonenumber_field/locale/uk/LC_MESSAGES/django.po phonenumber_field/locale/uk_UA/LC_MESSAGES/django.mo phonenumber_field/locale/uk_UA/LC_MESSAGES/django.po phonenumber_field/locale/zh_Hans/LC_MESSAGES/django.mo phonenumber_field/locale/zh_Hans/LC_MESSAGES/django.po tests/__init__.py tests/forms.py tests/models.py tests/settings.py tests/test_formfields.py tests/test_widgets.py tests/tests.py././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474682.0 django-phonenumber-field-5.2.0/django_phonenumber_field.egg-info/dependency_links.txt0000600000175000017500000000000100000000000031307 0ustar00freitafrfreitafr ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474682.0 django-phonenumber-field-5.2.0/django_phonenumber_field.egg-info/not-zip-safe0000600000175000017500000000000100000000000027467 0ustar00freitafrfreitafr ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474682.0 django-phonenumber-field-5.2.0/django_phonenumber_field.egg-info/requires.txt0000600000175000017500000000013400000000000027637 0ustar00freitafrfreitafrDjango>=2.2 [phonenumbers] phonenumbers>=7.0.2 [phonenumberslite] phonenumberslite>=7.0.2 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474682.0 django-phonenumber-field-5.2.0/django_phonenumber_field.egg-info/top_level.txt0000600000175000017500000000002200000000000027765 0ustar00freitafrfreitafrphonenumber_field ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/0000700000175000017500000000000000000000000022223 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616407387.0 django-phonenumber-field-5.2.0/phonenumber_field/__init__.py0000600000175000017500000000025000000000000024333 0ustar00freitafrfreitafrtry: from .version import version except ImportError: # The version module is written by setuptools_scm. __version__ = None else: __version__ = version ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129365.0 django-phonenumber-field-5.2.0/phonenumber_field/formfields.py0000600000175000017500000000352600000000000024737 0ustar00freitafrfreitafrimport phonenumbers from django.core import validators from django.core.exceptions import ValidationError from django.forms.fields import CharField from django.utils.text import format_lazy from django.utils.translation import gettext_lazy as _ from phonenumber_field.phonenumber import to_python, validate_region from phonenumber_field.validators import validate_international_phonenumber class PhoneNumberField(CharField): default_validators = [validate_international_phonenumber] def __init__(self, *args, region=None, **kwargs): super().__init__(*args, **kwargs) self.widget.input_type = "tel" validate_region(region) self.region = region if "invalid" not in self.error_messages: if region: number = phonenumbers.example_number(region) example_number = to_python(number).as_national # Translators: {example_number} is a national phone number. error_message = _( "Enter a valid phone number (e.g. {example_number}) " "or a number with an international call prefix." ) else: example_number = "+12125552368" # Ghostbusters # Translators: {example_number} is an international phone number. error_message = _("Enter a valid phone number (e.g. {example_number}).") self.error_messages["invalid"] = format_lazy( error_message, example_number=example_number ) def to_python(self, value): phone_number = to_python(value, region=self.region) if phone_number in validators.EMPTY_VALUES: return self.empty_value if phone_number and not phone_number.is_valid(): raise ValidationError(self.error_messages["invalid"]) return phone_number ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/0000700000175000017500000000000000000000000023462 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9042678 django-phonenumber-field-5.2.0/phonenumber_field/locale/ar/0000700000175000017500000000000000000000000024064 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/ar/LC_MESSAGES/0000700000175000017500000000000000000000000025651 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ar/LC_MESSAGES/django.mo0000600000175000017500000000214200000000000027451 0ustar00freitafrfreitafrL |a3 ? [&hfE?!?"Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: 2020-03-23 15:41+0100 Last-Translator: FULL NAME Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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; X-Generator: Gtranslator 2.91.7 أدخل رقم هاتف صالح (مثال {example_number} ) أو رقم له بادئة دولية أدخل رقم هاتف صالح (مثال {example_number} ).أدخل رقم هاتف صالحرقم الهاتفرقم الهاتف الذي تم إدخاله غير صالح.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ar/LC_MESSAGES/django.po0000600000175000017500000000323700000000000027462 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # FULL NAME , 2020. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-03-23 15:35+0100\n" "PO-Revision-Date: 2020-03-23 15:41+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=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" "X-Generator: Gtranslator 2.91.7\n" #: phonenumber_field/formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "أدخل رقم هاتف صالح (مثال {example_number} ) أو رقم له بادئة دولية " #. Translators: {example_number} is an international phone number. #: phonenumber_field/formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "أدخل رقم هاتف صالح (مثال {example_number} )." #: phonenumber_field/modelfields.py:53 msgid "Phone number" msgstr "رقم الهاتف" #: phonenumber_field/serializerfields.py:9 msgid "Enter a valid phone number." msgstr "أدخل رقم هاتف صالح" #: phonenumber_field/validators.py:11 msgid "The phone number entered is not valid." msgstr "رقم الهاتف الذي تم إدخاله غير صالح." ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9042678 django-phonenumber-field-5.2.0/phonenumber_field/locale/az/0000700000175000017500000000000000000000000024074 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/az/LC_MESSAGES/0000700000175000017500000000000000000000000025661 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/az/LC_MESSAGES/django.mo0000600000175000017500000000117400000000000027465 0ustar00freitafrfreitafr<\pq &U&>+PEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: Emin Mastizada Language-Team: Azerbaijani Language: az MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Düzgün telefon nömrəsi daxil edin.Telefon nömrəsiDaxil etdiyiniz telefon nömrəsi səhvdir.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/az/LC_MESSAGES/django.po0000600000175000017500000000253000000000000027465 0ustar00freitafrfreitafr# Azerbaijani Locale. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Emin Mastizada , 2016. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Emin Mastizada \n" "Language-Team: Azerbaijani \n" "Language: az\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" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Düzgün telefon nömrəsi daxil edin." #: modelfields.py:51 msgid "Phone number" msgstr "Telefon nömrəsi" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Düzgün telefon nömrəsi daxil edin." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Daxil etdiyiniz telefon nömrəsi səhvdir." ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9042678 django-phonenumber-field-5.2.0/phonenumber_field/locale/bg/0000700000175000017500000000000000000000000024052 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/bg/LC_MESSAGES/0000700000175000017500000000000000000000000025637 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/bg/LC_MESSAGES/django.mo0000600000175000017500000000222200000000000027436 0ustar00freitafrfreitafrL |a3 ? [&h/ltH*IHEnter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2020-11-12 13:04+0200 Last-Translator: ELENA ROGLEVA Language-Team: Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Моля, въведете валиден телефонен номер (например {example_number}) или номер с международен телефонен код.Моля, въведете валиден телефонен номер (например {example_number}).Моля, въведете валиден телефонен номер.Телефонен номерВъведеният телефонен номер е невалиден.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616406348.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/bg/LC_MESSAGES/django.po0000600000175000017500000000310400000000000027441 0ustar00freitafrfreitafr# Bulgarian translations # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Elena Rogleva , 2020. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-11-12 13:04+0200\n" "PO-Revision-Date: 2020-11-12 13:04+0200\n" "Last-Translator: ELENA ROGLEVA \n" "Language-Team: \n" "Language: bg\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" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Моля, въведете валиден телефонен номер (например {example_number}) или " "номер с международен телефонен код." #. Translators: {example_number} is an international phone number. #: formfields.py:33 msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Моля, въведете валиден телефонен номер (например {example_number})." #: modelfields.py:51 msgid "Phone number" msgstr "Телефонен номер" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Моля, въведете валиден телефонен номер." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Въведеният телефонен номер е невалиден." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/bn/0000700000175000017500000000000000000000000024061 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/bn/LC_MESSAGES/0000700000175000017500000000000000000000000025646 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/bn/LC_MESSAGES/django.mo0000600000175000017500000000126200000000000027450 0ustar00freitafrfreitafr<\pq &<CBObEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: Tanvir Hasan Language-Team: Language: bn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); একটি বৈধ ফোন নম্বর লিখুন।ফোন নাম্বারপ্রদত্ত ফোন নাম্বারটি বৈধ নয়।././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/bn/LC_MESSAGES/django.po0000600000175000017500000000265500000000000027462 0ustar00freitafrfreitafr# Bangali Locale. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Tanvir Hasan , 2016. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Tanvir Hasan \n" "Language-Team: \n" "Language: bn\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" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "একটি বৈধ ফোন নম্বর লিখুন।" #: modelfields.py:51 msgid "Phone number" msgstr "ফোন নাম্বার" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "একটি বৈধ ফোন নম্বর লিখুন।" #: validators.py:11 msgid "The phone number entered is not valid." msgstr "প্রদত্ত ফোন নাম্বারটি বৈধ নয়।" ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/cs/0000700000175000017500000000000000000000000024067 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/cs/LC_MESSAGES/0000700000175000017500000000000000000000000025654 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/cs/LC_MESSAGES/django.mo0000600000175000017500000000120000000000000027446 0ustar00freitafrfreitafr<\pq &]#C)VEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; Vložte platné telefonní číslo.Telefonní čísloZadané telefonní číslo není platné.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/cs/LC_MESSAGES/django.po0000600000175000017500000000253200000000000027462 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Vložte platné telefonní číslo." #: modelfields.py:51 msgid "Phone number" msgstr "Telefonní číslo" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Vložte platné telefonní číslo." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Zadané telefonní číslo není platné." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/da/0000700000175000017500000000000000000000000024046 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/da/LC_MESSAGES/0000700000175000017500000000000000000000000025633 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/da/LC_MESSAGES/django.mo0000600000175000017500000000107200000000000027434 0ustar00freitafrfreitafr<\pq &! )Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2016-03-14 12:50+0100 Last-Translator: René Tronsgaard Language-Team: Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.5.4 Indtast et gyldigt telefonnummer.TelefonnummerDet indtastede telefonnummer er ugyldigt.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/da/LC_MESSAGES/django.po0000600000175000017500000000243500000000000027443 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # René Tronsgaard , 2016. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2016-03-14 12:50+0100\n" "Last-Translator: René Tronsgaard \n" "Language-Team: \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Indtast et gyldigt telefonnummer." #: modelfields.py:51 msgid "Phone number" msgstr "Telefonnummer" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Indtast et gyldigt telefonnummer." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Det indtastede telefonnummer er ugyldigt." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/de/0000700000175000017500000000000000000000000024052 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/de/LC_MESSAGES/0000700000175000017500000000000000000000000025637 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/de/LC_MESSAGES/django.mo0000600000175000017500000000177100000000000027446 0ustar00freitafrfreitafrL |a3 ? [&hBzDM+ ,Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Bitte eine gültige Telefonnummer (z. B. {example_number}) oder eine gültige Nummer mit internationaler Vorwahl eingeben.Bitte eine gültige Telefonnummer (z. B. {example_number}) eingeben.Bitte eine gültige Telefonnummer eingeben.TelefonnummerDie eingegebene Telefonnummer ist ungültig.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/de/LC_MESSAGES/django.po0000600000175000017500000000264100000000000027446 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Bitte eine gültige Telefonnummer (z. B. {example_number}) oder eine " "gültige Nummer mit internationaler Vorwahl eingeben." #. Translators: {example_number} is an international phone number. #: formfields.py:33 msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Bitte eine gültige Telefonnummer (z. B. {example_number}) eingeben." #: modelfields.py:51 msgid "Phone number" msgstr "Telefonnummer" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Bitte eine gültige Telefonnummer eingeben." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Die eingegebene Telefonnummer ist ungültig." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/eo/0000700000175000017500000000000000000000000024065 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/eo/LC_MESSAGES/0000700000175000017500000000000000000000000025652 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/eo/LC_MESSAGES/django.mo0000600000175000017500000000173000000000000027454 0ustar00freitafrfreitafrL |a3 ? [&h<i:6"q3Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2021-03-11 16:09+0000 Last-Translator: Meiyer Language-Team: Esperanto Language: eo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Bv. enigu ĝustan lokan telefon-numeron (ekz. {example_number}) aŭ numeron kun internacia voko-prefikso.Bv. enigu ĝustan telefon-numeron (ekz. {example_number}).Bv. enigu ĝustan telefon-numeron.Telefona numeroLa provizita numero ne estas en akceptebla formato.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616406348.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/eo/LC_MESSAGES/django.po0000600000175000017500000000232700000000000027462 0ustar00freitafrfreitafrmsgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2021-03-11 16:09+0000\n" "Last-Translator: Meiyer \n" "Language-Team: Esperanto\n" "Language: eo\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" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Bv. enigu ĝustan lokan telefon-numeron (ekz. {example_number}) aŭ numeron " "kun internacia voko-prefikso." #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Bv. enigu ĝustan telefon-numeron (ekz. {example_number})." #: modelfields.py:53 msgid "Phone number" msgstr "Telefona numero" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Bv. enigu ĝustan telefon-numeron." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "La provizita numero ne estas en akceptebla formato." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/es/0000700000175000017500000000000000000000000024071 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/es/LC_MESSAGES/0000700000175000017500000000000000000000000025656 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129004.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/es/LC_MESSAGES/django.mo0000600000175000017500000000174600000000000027467 0ustar00freitafrfreitafrL |a3 ? [&h.vA5(w0Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2020-09-30 18:32+0200 Last-Translator: Joao Lopez Language-Team: Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Ingrese un número de teléfono válido (ej.: {example_number}) o un número con un prefijo de llamado internacional.Ingrese un número de teléfono válido (ej.: {example_number}).Ingrese un número de teléfono válido.Número de teléfonoEl número de teléfono ingresado no es válido.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616406348.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/es/LC_MESSAGES/django.po0000600000175000017500000000277700000000000027477 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2020-09-30 18:32+0200\n" "Last-Translator: Joao Lopez \n" "Language-Team: \n" "Language: es\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" #: phonenumber_field/formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Ingrese un número de teléfono válido (ej.: {example_number}) o un número " "con un prefijo de llamado internacional." #. Translators: {example_number} is an international phone number. #: phonenumber_field/formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Ingrese un número de teléfono válido (ej.: {example_number})." #: phonenumber_field/modelfields.py:53 msgid "Phone number" msgstr "Número de teléfono" #: phonenumber_field/serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Ingrese un número de teléfono válido." #: phonenumber_field/validators.py:11 msgid "The phone number entered is not valid." msgstr "El número de teléfono ingresado no es válido." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/es_AR/0000700000175000017500000000000000000000000024453 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/es_AR/LC_MESSAGES/0000700000175000017500000000000000000000000026240 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129004.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/es_AR/LC_MESSAGES/django.mo0000600000175000017500000000164300000000000030045 0ustar00freitafrfreitafrL |a3 ? [&hkA)4^/sEnter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: Last-Translator: Language-Team: Language: es_AR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Ingresá un número de teléfono válido (ej.: {example_number}) o un número con un prefijo internacional.Ingresá un número de teléfono válido (ej.: {example_number}).Ingresá un número de teléfono válido.Número de teléfonoEl número de teléfono ingresado es inválido.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616406348.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/es_AR/LC_MESSAGES/django.po0000600000175000017500000000277500000000000030057 0ustar00freitafrfreitafr# Argentinian Spanish translations for django-phonenumber-field # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the django-phonenumber-field package. # Hugo Osvaldo Barrera , 2020. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-09-30 10:42-0500\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" "Language: es_AR\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" #: phonenumber_field/formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Ingresá un número de teléfono válido (ej.: {example_number}) o un número con " "un prefijo internacional." #. Translators: {example_number} is an international phone number. #: phonenumber_field/formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Ingresá un número de teléfono válido (ej.: {example_number})." #: phonenumber_field/modelfields.py:53 msgid "Phone number" msgstr "Número de teléfono" #: phonenumber_field/serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Ingresá un número de teléfono válido." #: phonenumber_field/validators.py:11 msgid "The phone number entered is not valid." msgstr "El número de teléfono ingresado es inválido." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/fi/0000700000175000017500000000000000000000000024060 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/fi/LC_MESSAGES/0000700000175000017500000000000000000000000025645 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/fi/LC_MESSAGES/django.mo0000600000175000017500000000106000000000000027443 0ustar00freitafrfreitafr<\pq & (Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2015-10-26 10:25+0200 Last-Translator: Ville Skyttä Language-Team: Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.8.5 Syötä oikea puhelinnumero.PuhelinnumeroSyötetty puhelinnumero on virheellinen.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/fi/LC_MESSAGES/django.po0000600000175000017500000000241200000000000027450 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Ville Skyttä , 2015. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2015-10-26 10:25+0200\n" "Last-Translator: Ville Skyttä \n" "Language-Team: \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.5\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Syötä oikea puhelinnumero." #: modelfields.py:51 msgid "Phone number" msgstr "Puhelinnumero" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Syötä oikea puhelinnumero." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Syötetty puhelinnumero on virheellinen." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/fr/0000700000175000017500000000000000000000000024071 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/fr/LC_MESSAGES/0000700000175000017500000000000000000000000025656 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/fr/LC_MESSAGES/django.mo0000600000175000017500000000201000000000000027450 0ustar00freitafrfreitafrL |a3 ? [&hOxIX+"Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2011-10-19 14:10+0200 Last-Translator: Stéphane Raimbault Language-Team: French Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1) Saisissez un numéro de téléphone valide, par exemple {example_number}, ou un numéro avec un indicatif international.Saisissez un numéro de téléphone valide, par exemple {example_number}.Saisissez un numéro de téléphone valide.Numéro de téléphoneLe numéro saisi n'est pas valide.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/fr/LC_MESSAGES/django.po0000600000175000017500000000275300000000000027471 0ustar00freitafrfreitafr# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Ludovic Gasc , 2011. # Stéphane Raimbault , 2018 msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2011-10-19 14:10+0200\n" "Last-Translator: Stéphane Raimbault \n" "Language-Team: French \n" "Language: \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" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Saisissez un numéro de téléphone valide, par exemple {example_number}, ou un " "numéro avec un indicatif international." #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Saisissez un numéro de téléphone valide, par exemple {example_number}." #: modelfields.py:51 msgid "Phone number" msgstr "Numéro de téléphone" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Saisissez un numéro de téléphone valide." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Le numéro saisi n'est pas valide." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/he/0000700000175000017500000000000000000000000024056 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/he/LC_MESSAGES/0000700000175000017500000000000000000000000025643 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/he/LC_MESSAGES/django.mo0000600000175000017500000000177200000000000027453 0ustar00freitafrfreitafrL |a3 ? [&hBwDJ#2Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); הזן מספר טלפון חוקי (לדוגמה {example_number}) או מספר עם קידומת בינלאומית.הזן מספר טלפון חוקי (לדוגמה {example_number}).הזן מספר טלפון חוקימספר טלפוןמספר הטלפון שהוזן אינו חוקי././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/he/LC_MESSAGES/django.po0000600000175000017500000000267400000000000027460 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "הזן מספר טלפון חוקי (לדוגמה {example_number}) או מספר עם קידומת בינלאומית." #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "הזן מספר טלפון חוקי (לדוגמה {example_number})." #: modelfields.py:51 msgid "Phone number" msgstr "מספר טלפון" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "הזן מספר טלפון חוקי" #: validators.py:11 msgid "The phone number entered is not valid." msgstr "מספר הטלפון שהוזן אינו חוקי" ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/hy/0000700000175000017500000000000000000000000024102 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/hy/LC_MESSAGES/0000700000175000017500000000000000000000000025667 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/hy/LC_MESSAGES/django.mo0000600000175000017500000000214200000000000027467 0ustar00freitafrfreitafrL |a3 ? [&hK]h:EEnter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: Arnak Melikyan Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Մուտքագրեք վավեր հեռախոսահամար (օրինակ, {example_number}) կամ միջազգային ձեւաչափով։Մուտքագրեք վավեր հեռախոսահամար (օրինակ, {example_number})։Մուտքագրեք վավեր հեռախոսահամարՀեռախոսահամարՄուտքագրված հեռախոսահամարը վավեր չէ։././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/hy/LC_MESSAGES/django.po0000600000175000017500000000320000000000000027466 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-06-14 11:06+0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Arnak Melikyan \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: phonenumber_field/formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "Մուտքագրեք վավեր հեռախոսահամար (օրինակ, {example_number}) կամ " "միջազգային ձեւաչափով։" #. Translators: {example_number} is an international phone number. #: phonenumber_field/formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Մուտքագրեք վավեր հեռախոսահամար (օրինակ, {example_number})։" #: phonenumber_field/modelfields.py:51 msgid "Phone number" msgstr "Հեռախոսահամար" #: phonenumber_field/serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Մուտքագրեք վավեր հեռախոսահամար" #: phonenumber_field/validators.py:11 msgid "The phone number entered is not valid." msgstr "Մուտքագրված հեռախոսահամարը վավեր չէ։" ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/id/0000700000175000017500000000000000000000000024056 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/id/LC_MESSAGES/0000700000175000017500000000000000000000000025643 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/id/LC_MESSAGES/django.mo0000600000175000017500000000176500000000000027455 0ustar00freitafrfreitafrL |a3 ? [&hD>Z" *Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2021-02-05 21:42+0700 Last-Translator: Arsyi Syarief Aziz Language-Team: Indonesian Language: id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; Masukkan nomor telepon yang benar (misalkan {example_number}) atau nomor yang dilengkapi dengan prefiks kode panggilan internasional.Masukkan nomor telepon yang benar (misalkan {example_number}).Masukkan nomor telepon yang benar.Nomor teleponNomor telepon yang dimasukkan tidak benar.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616406348.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/id/LC_MESSAGES/django.po0000600000175000017500000000276700000000000027463 0ustar00freitafrfreitafr# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , 2021. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-05 21:42+0700\n" "PO-Revision-Date: 2021-02-05 21:42+0700\n" "Last-Translator: Arsyi Syarief Aziz \n" "Language-Team: Indonesian \n" "Language: id\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" #: phonenumber_field/formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "Masukkan nomor telepon yang benar (misalkan {example_number}) " "atau nomor yang dilengkapi dengan prefiks kode panggilan internasional." #. Translators: {example_number} is an international phone number. #: phonenumber_field/formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Masukkan nomor telepon yang benar (misalkan {example_number})." #: phonenumber_field/modelfields.py:53 msgid "Phone number" msgstr "Nomor telepon" #: phonenumber_field/serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Masukkan nomor telepon yang benar." #: phonenumber_field/validators.py:11 msgid "The phone number entered is not valid." msgstr "Nomor telepon yang dimasukkan tidak benar." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/it/0000700000175000017500000000000000000000000024076 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/it/LC_MESSAGES/0000700000175000017500000000000000000000000025663 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/it/LC_MESSAGES/django.mo0000600000175000017500000000122000000000000027457 0ustar00freitafrfreitafr<\pq &f&(O-bEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2018-02-28 20:23+0100 Last-Translator: Paolo Melchiorre Language-Team: Italian Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Poedit 2.0.4 Inserire un numero di telefono valido.Numero di telefonoIl numero di telefono inserito non è valido.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/it/LC_MESSAGES/django.po0000600000175000017500000000260200000000000027467 0ustar00freitafrfreitafr# Copyright (C) 2013-2018 # This file is distributed under the same license as the PACKAGE package. # # Francesco Facconi , 2013-2017. # Paolo Melchiorre , 2018. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2018-02-28 20:23+0100\n" "Last-Translator: Paolo Melchiorre \n" "Language-Team: Italian \n" "Language: it\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 2.0.4\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Inserire un numero di telefono valido." #: modelfields.py:51 msgid "Phone number" msgstr "Numero di telefono" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Inserire un numero di telefono valido." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Il numero di telefono inserito non è valido." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/ko/0000700000175000017500000000000000000000000024073 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/ko/LC_MESSAGES/0000700000175000017500000000000000000000000025660 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ko/LC_MESSAGES/django.mo0000600000175000017500000000107600000000000027465 0ustar00freitafrfreitafr<\pq &- >Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2017-04-15 16:56+0100 Last-Translator: Jiyoon Ha Language-Team: Language: ko MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 올바른 전화번호를 입력해주세요.전화번호입력하신 전화번호가 올바른 형식이 아닙니다.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ko/LC_MESSAGES/django.po0000600000175000017500000000244700000000000027473 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Jiyoon Ha , 2017. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2017-04-15 16:56+0100\n" "Last-Translator: Jiyoon Ha \n" "Language-Team: \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "올바른 전화번호를 입력해주세요." #: modelfields.py:51 msgid "Phone number" msgstr "전화번호" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "올바른 전화번호를 입력해주세요." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "입력하신 전화번호가 올바른 형식이 아닙니다." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/nb/0000700000175000017500000000000000000000000024061 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/nb/LC_MESSAGES/0000700000175000017500000000000000000000000025646 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/nb/LC_MESSAGES/django.mo0000600000175000017500000000111300000000000027443 0ustar00freitafrfreitafr<\pq &D  '5Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2016-10-21 15:04+0200 Last-Translator: Kristian Klette Language-Team: Language: nb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.9 Tast inn et gyldig telefonnummerTelefonnummerUgyldig telefonnummer././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/nb/LC_MESSAGES/django.po0000600000175000017500000000247700000000000027464 0ustar00freitafrfreitafr# Norwegian Bokmaal Translation for django-phonenumber-field. # Copyright (C) 2016 # This file is distributed under the same license as the django-phonenumber-field package. # FIRST AUTHOR , 2016. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2016-10-21 15:04+0200\n" "Last-Translator: Kristian Klette \n" "Language-Team: \n" "Language: nb\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 1.8.9\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Tast inn et gyldig telefonnummer" #: modelfields.py:51 msgid "Phone number" msgstr "Telefonnummer" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Tast inn et gyldig telefonnummer" #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Ugyldig telefonnummer" ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/nl/0000700000175000017500000000000000000000000024073 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/nl/LC_MESSAGES/0000700000175000017500000000000000000000000025660 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/nl/LC_MESSAGES/django.mo0000600000175000017500000000110600000000000027457 0ustar00freitafrfreitafr<\pq &&! ,Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: Folkert de Vries Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Vul een geldig telefoonnummer in.TelefoonnummerHet ingevulde telefoonnummer is niet geldig.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/nl/LC_MESSAGES/django.po0000600000175000017500000000243000000000000027463 0ustar00freitafrfreitafr# Dutch Translation. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Folkert de Vries , 2016. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Folkert de Vries \n" "Language: nl\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" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Vul een geldig telefoonnummer in." #: modelfields.py:51 msgid "Phone number" msgstr "Telefoonnummer" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Vul een geldig telefoonnummer in." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Het ingevulde telefoonnummer is niet geldig." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/pl/0000700000175000017500000000000000000000000024075 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/pl/LC_MESSAGES/0000700000175000017500000000000000000000000025662 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/pl/LC_MESSAGES/django.mo0000600000175000017500000000124000000000000027460 0ustar00freitafrfreitafr<\pq &|">a/pEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Wprowadź poprawny numer telefonu.Numer telefonuWprowadzony numer telefonu jest nieprawidłowy.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/pl/LC_MESSAGES/django.po0000600000175000017500000000260500000000000027471 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Wprowadź poprawny numer telefonu." #: modelfields.py:51 msgid "Phone number" msgstr "Numer telefonu" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Wprowadź poprawny numer telefonu." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Wprowadzony numer telefonu jest nieprawidłowy." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt/0000700000175000017500000000000000000000000024105 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt/LC_MESSAGES/0000700000175000017500000000000000000000000025672 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt/LC_MESSAGES/django.mo0000600000175000017500000000122000000000000027466 0ustar00freitafrfreitafr<\pq &f)(R)fEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2013-02-26 14:10+0200 Last-Translator: Luis Rodrigues Language-Team: Portuguese Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1) X-Generator: Lokalize 1.2 Introduza um número de telefone válido.Número de telefoneEste número de telefone não é válido.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt/LC_MESSAGES/django.po0000600000175000017500000000254400000000000027503 0ustar00freitafrfreitafr# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Luis Rodrigues , 2013. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2013-02-26 14:10+0200\n" "Last-Translator: Luis Rodrigues \n" "Language-Team: Portuguese \n" "Language: \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: Lokalize 1.2\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Introduza um número de telefone válido." #: modelfields.py:51 msgid "Phone number" msgstr "Número de telefone" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Introduza um número de telefone válido." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Este número de telefone não é válido." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt_BR/0000700000175000017500000000000000000000000024470 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt_BR/LC_MESSAGES/0000700000175000017500000000000000000000000026255 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt_BR/LC_MESSAGES/django.mo0000600000175000017500000000123000000000000030052 0ustar00freitafrfreitafr<\pq &p'2Z)nEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2013-02-26 14:10-0300 Last-Translator: Fábio Thomaz Language-Team: Portuguese - Brazil Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1) X-Generator: Lokalize 1.2 Informe um número de telefone válido.Número de telefoneEste número de telefone não é válido.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/pt_BR/LC_MESSAGES/django.po0000600000175000017500000000255200000000000030065 0ustar00freitafrfreitafr# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Fábio Thomaz , 2017. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2013-02-26 14:10-0300\n" "Last-Translator: Fábio Thomaz \n" "Language-Team: Portuguese - Brazil \n" "Language: \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: Lokalize 1.2\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Informe um número de telefone válido." #: modelfields.py:51 msgid "Phone number" msgstr "Número de telefone" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Informe um número de telefone válido." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Este número de telefone não é válido." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/ro/0000700000175000017500000000000000000000000024102 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/ro/LC_MESSAGES/0000700000175000017500000000000000000000000025667 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ro/LC_MESSAGES/django.mo0000600000175000017500000000117100000000000027470 0ustar00freitafrfreitafr<\pq &P(;+MEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2018-10-19 14:07+0300 Last-Translator: Cristi Vîjdea Language-Team: Language: ro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1)); Introduceți un număr de telefon valid.Număr de telefonNumărul de telefon introdus nu este valid.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ro/LC_MESSAGES/django.po0000600000175000017500000000247600000000000027504 0ustar00freitafrfreitafr# django-phonenumber-field # This file is distributed under the same license as the django-phonenumber-field package. # Cristian Vîjdea , 2018. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2018-10-19 14:07+0300\n" "Last-Translator: Cristi Vîjdea \n" "Language-Team: \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Introduceți un număr de telefon valid." #: modelfields.py:51 msgid "Phone number" msgstr "Număr de telefon" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Introduceți un număr de telefon valid." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Numărul de telefon introdus nu este valid." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/ru/0000700000175000017500000000000000000000000024110 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/ru/LC_MESSAGES/0000700000175000017500000000000000000000000025675 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129004.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ru/LC_MESSAGES/django.mo0000600000175000017500000000232600000000000027501 0ustar00freitafrfreitafrL |a3 ? [&he@6wBEnter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: 2021-05-15 19:57+0700 Last-Translator: FULL NAME Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Введите корректный номер телефона (например, {example_number}) или номер с префиксом международной связи.Введите корректный номер телефона (например, {example_number}).Введите корректный номер телефона.Номер телефонаВведен некорректный номер телефона.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622128622.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/ru/LC_MESSAGES/django.po0000600000175000017500000000324300000000000027503 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Nikita Kolesnikov , 2013. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-05-15 12:56+0000\n" "PO-Revision-Date: 2021-05-15 19:57+0700\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Введите корректный номер телефона (например, {example_number}) или номер с " "префиксом международной связи." #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Введите корректный номер телефона (например, {example_number})." #: modelfields.py:53 msgid "Phone number" msgstr "Номер телефона" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Введите корректный номер телефона." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Введен некорректный номер телефона." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/sk/0000700000175000017500000000000000000000000024077 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9109344 django-phonenumber-field-5.2.0/phonenumber_field/locale/sk/LC_MESSAGES/0000700000175000017500000000000000000000000025664 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/sk/LC_MESSAGES/django.mo0000600000175000017500000000117700000000000027473 0ustar00freitafrfreitafr<\pq &]#C(VEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; Vložte platné telefónne číslo.Telefónne čísloZadané telefónne číslo je neplatné.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/sk/LC_MESSAGES/django.po0000600000175000017500000000253100000000000027471 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Vložte platné telefónne číslo." #: modelfields.py:51 msgid "Phone number" msgstr "Telefónne číslo" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Vložte platné telefónne číslo." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Zadané telefónne číslo je neplatné." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/sv/0000700000175000017500000000000000000000000024112 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/phonenumber_field/locale/sv/LC_MESSAGES/0000700000175000017500000000000000000000000025677 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/sv/LC_MESSAGES/django.mo0000600000175000017500000000114500000000000027501 0ustar00freitafrfreitafr<\pq &I  ++9Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2017-12-05 22:18+0100 Last-Translator: Jonas Lidén Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.7.1 Ange ett giltigt telefonnummer.TelefonnummerDet angivna telefonnumret är inte giltigt.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/sv/LC_MESSAGES/django.po0000600000175000017500000000245200000000000027506 0ustar00freitafrfreitafr# Swedish Locale # Copyright (C) 2017 # This file is distributed under the same license as the django-phonenumber-field package. # Jonas Lidén , 2017. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2017-12-05 22:18+0100\n" "Last-Translator: Jonas Lidén \n" "Language-Team: Swedish\n" "Language: sv\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 1.8.7.1\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Ange ett giltigt telefonnummer." #: modelfields.py:51 msgid "Phone number" msgstr "Telefonnummer" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Ange ett giltigt telefonnummer." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Det angivna telefonnumret är inte giltigt." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/tr/0000700000175000017500000000000000000000000024107 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/phonenumber_field/locale/tr/LC_MESSAGES/0000700000175000017500000000000000000000000025674 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/tr/LC_MESSAGES/django.mo0000600000175000017500000000116300000000000027476 0ustar00freitafrfreitafr<\pq &G' 1/CEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: Emin Mastizada Language-Team: LANGUAGE Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); Geçerli bir telefon numarası giriniz.Telefon numarasıGirmiş olduğunuz telefon numarası geçersiz.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/tr/LC_MESSAGES/django.po0000600000175000017500000000251400000000000027502 0ustar00freitafrfreitafr# Turkish Locale. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Emin Mastizada , 2016. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Emin Mastizada \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Geçerli bir telefon numarası giriniz." #: modelfields.py:51 msgid "Phone number" msgstr "Telefon numarası" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Geçerli bir telefon numarası giriniz." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Girmiş olduğunuz telefon numarası geçersiz." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk/0000700000175000017500000000000000000000000024101 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk/LC_MESSAGES/0000700000175000017500000000000000000000000025666 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk/LC_MESSAGES/django.mo0000600000175000017500000000226500000000000027474 0ustar00freitafrfreitafrL |a3 ? [&hle>VBrEnter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number (e.g. {example_number}).Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2018-06-06 00:07+0300 Last-Translator: Language-Team: Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Generator: Poedit 2.0.8 Введіть коректний номер телефону (наприклад, {example_number}) або номер з префіксом міжнародного зв'язку.Введіть коректний номер телефону (наприклад, {example_number}).Введіть коректний номер телефону.Номер телефонуВведено некоректний номер телефону.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616406348.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk/LC_MESSAGES/django.po0000600000175000017500000000320600000000000027473 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Nikita Kolesnikov , 2013. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2018-06-06 00:07+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 2.0.8\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" "Введіть коректний номер телефону (наприклад, {example_number}) або номер з " "префіксом міжнародного зв'язку." #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, python-brace-format msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Введіть коректний номер телефону (наприклад, {example_number})." #: modelfields.py:51 msgid "Phone number" msgstr "Номер телефону" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Введіть коректний номер телефону." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Введено некоректний номер телефону." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk_UA/0000700000175000017500000000000000000000000024466 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk_UA/LC_MESSAGES/0000700000175000017500000000000000000000000026253 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk_UA/LC_MESSAGES/django.mo0000600000175000017500000000131400000000000030053 0ustar00freitafrfreitafr<\pq &l>.mBEnter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: Report-Msgid-Bugs-To: PO-Revision-Date: 2018-06-06 00:07+0300 Last-Translator: Language-Team: Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Generator: Poedit 2.0.8 Введіть коректний номер телефону.Номер телефонуВведено некоректний номер телефону.././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/uk_UA/LC_MESSAGES/django.po0000600000175000017500000000272300000000000030063 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Nikita Kolesnikov , 2013. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-28 13:04-0700\n" "PO-Revision-Date: 2018-06-06 00:07+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 2.0.8\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "Введіть коректний номер телефону." #: modelfields.py:51 msgid "Phone number" msgstr "Номер телефону" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "Введіть коректний номер телефону." #: validators.py:11 msgid "The phone number entered is not valid." msgstr "Введено некоректний номер телефону." ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1622474682.907601 django-phonenumber-field-5.2.0/phonenumber_field/locale/zh_Hans/0000700000175000017500000000000000000000000025054 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/phonenumber_field/locale/zh_Hans/LC_MESSAGES/0000700000175000017500000000000000000000000026641 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1621503671.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/zh_Hans/LC_MESSAGES/django.mo0000600000175000017500000000144500000000000030446 0ustar00freitafrfreitafrDla &6;^r$ !Enter a valid phone number (e.g. {example_number}) or a number with an international call prefix.Enter a valid phone number.Phone numberThe phone number entered is not valid.Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: Wentao Han Language-Team: Language: zh-Hans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; 输入一个合法的电话号码(例如,{example_number})或带国际冠码的号码。输入一个合法的电话号码。电话号码输入的电话号码不合法。././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/locale/zh_Hans/LC_MESSAGES/django.po0000600000175000017500000000265500000000000030455 0ustar00freitafrfreitafr# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-02-25 09:52+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Wentao Han \n" "Language-Team: \n" "Language: zh-Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: formfields.py:27 #, python-brace-format msgid "" "Enter a valid phone number (e.g. {example_number}) or a number with an " "international call prefix." msgstr "输入一个合法的电话号码(例如,{example_number})或带国际冠码的号码。" #. Translators: {example_number} is an international phone number. #: formfields.py:33 #, fuzzy, python-brace-format #| msgid "Enter a valid phone number." msgid "Enter a valid phone number (e.g. {example_number})." msgstr "输入一个合法的电话号码(例如,{example_number})。" #: modelfields.py:53 msgid "Phone number" msgstr "电话号码" #: serializerfields.py:9 msgid "Enter a valid phone number." msgstr "输入一个合法的电话号码。" #: validators.py:11 msgid "The phone number entered is not valid." msgstr "输入的电话号码不合法。" ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1613376362.0 django-phonenumber-field-5.2.0/phonenumber_field/modelfields.py0000600000175000017500000000727100000000000025075 0ustar00freitafrfreitafrfrom django.conf import settings from django.core import checks from django.db import models from django.utils.encoding import force_str from django.utils.translation import gettext_lazy as _ from phonenumber_field import formfields from phonenumber_field.phonenumber import PhoneNumber, to_python, validate_region from phonenumber_field.validators import validate_international_phonenumber class PhoneNumberDescriptor: """ The descriptor for the phone number attribute on the model instance. Returns a PhoneNumber when accessed so you can do stuff like:: >>> instance.phone_number.as_international Assigns a phone number object on assignment so you can do:: >>> instance.phone_number = PhoneNumber(...) or, >>> instance.phone_number = '+414204242' """ def __init__(self, field): self.field = field def __get__(self, instance, owner): if instance is None: return self # The instance dict contains whatever was originally assigned in # __set__. if self.field.name in instance.__dict__: value = instance.__dict__[self.field.name] else: instance.refresh_from_db(fields=[self.field.name]) value = getattr(instance, self.field.name) return value def __set__(self, instance, value): instance.__dict__[self.field.name] = to_python(value, region=self.field.region) class PhoneNumberField(models.CharField): attr_class = PhoneNumber descriptor_class = PhoneNumberDescriptor default_validators = [validate_international_phonenumber] description = _("Phone number") def __init__(self, *args, region=None, **kwargs): kwargs.setdefault("max_length", 128) super().__init__(*args, **kwargs) self._region = region @property def region(self): return self._region or getattr(settings, "PHONENUMBER_DEFAULT_REGION", None) def check(self, **kwargs): errors = super().check(**kwargs) errors.extend(self._check_region()) return errors def _check_region(self): try: validate_region(self.region) except ValueError as e: return [checks.Error(force_str(e), obj=self)] return [] def get_prep_value(self, value): """ Perform preliminary non-db specific value checks and conversions. """ if not value: return super().get_prep_value(value) if isinstance(value, PhoneNumber): parsed_value = value else: # Convert the string to a PhoneNumber object. parsed_value = to_python(value) if parsed_value.is_valid(): # A valid phone number. Normalize it for storage. format_string = getattr(settings, "PHONENUMBER_DB_FORMAT", "E164") fmt = PhoneNumber.format_map[format_string] value = parsed_value.format_as(fmt) else: # Not a valid phone number. Store the raw string. value = parsed_value.raw_input return super().get_prep_value(value) def contribute_to_class(self, cls, name, *args, **kwargs): super().contribute_to_class(cls, name, *args, **kwargs) setattr(cls, self.name, self.descriptor_class(self)) def deconstruct(self): name, path, args, kwargs = super().deconstruct() kwargs["region"] = self._region return name, path, args, kwargs def formfield(self, **kwargs): defaults = { "form_class": formfields.PhoneNumberField, "region": self.region, "error_messages": self.error_messages, } defaults.update(kwargs) return super().formfield(**defaults) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1617702355.0 django-phonenumber-field-5.2.0/phonenumber_field/phonenumber.py0000600000175000017500000001256300000000000025130 0ustar00freitafrfreitafrfrom functools import total_ordering import phonenumbers from django.conf import settings from django.core import validators @total_ordering class PhoneNumber(phonenumbers.PhoneNumber): """ A extended version of phonenumbers.PhoneNumber that provides some neat and more pythonic, easy to access methods. This makes using a PhoneNumber instance much easier, especially in templates and such. """ format_map = { "E164": phonenumbers.PhoneNumberFormat.E164, "INTERNATIONAL": phonenumbers.PhoneNumberFormat.INTERNATIONAL, "NATIONAL": phonenumbers.PhoneNumberFormat.NATIONAL, "RFC3966": phonenumbers.PhoneNumberFormat.RFC3966, } @classmethod def from_string(cls, phone_number, region=None): phone_number_obj = cls() if region is None: region = getattr(settings, "PHONENUMBER_DEFAULT_REGION", None) phonenumbers.parse( number=phone_number, region=region, keep_raw_input=True, numobj=phone_number_obj, ) return phone_number_obj def __str__(self): if self.is_valid(): format_string = getattr(settings, "PHONENUMBER_DEFAULT_FORMAT", "E164") fmt = self.format_map[format_string] return self.format_as(fmt) else: return self.raw_input def __repr__(self): if not self.is_valid(): return str( "Invalid{}(raw_input={})".format(type(self).__name__, self.raw_input) ) return super().__repr__() def is_valid(self): """ checks whether the number supplied is actually valid """ return phonenumbers.is_valid_number(self) def format_as(self, format): return phonenumbers.format_number(self, format) @property def as_international(self): return self.format_as(phonenumbers.PhoneNumberFormat.INTERNATIONAL) @property def as_e164(self): return self.format_as(phonenumbers.PhoneNumberFormat.E164) @property def as_national(self): return self.format_as(phonenumbers.PhoneNumberFormat.NATIONAL) @property def as_rfc3966(self): return self.format_as(phonenumbers.PhoneNumberFormat.RFC3966) def __len__(self): return len(str(self)) def __eq__(self, other): """ Override parent equality because we store only string representation of phone number, so we must compare only this string representation """ if other in validators.EMPTY_VALUES: return False elif isinstance(other, str): default_region = getattr(settings, "PHONENUMBER_DEFAULT_REGION", None) other = to_python(other, region=default_region) elif isinstance(other, type(self)): # Nothing to do. Good to compare. pass elif isinstance(other, phonenumbers.PhoneNumber): # The parent class of PhoneNumber does not have .is_valid(). # We need to make it match ours. old_other = other other = type(self)() other.merge_from(old_other) else: return False format_string = getattr(settings, "PHONENUMBER_DB_FORMAT", "E164") fmt = self.format_map[format_string] self_str = self.format_as(fmt) if self.is_valid() else self.raw_input other_str = other.format_as(fmt) if other.is_valid() else other.raw_input return self_str == other_str def __lt__(self, other): if isinstance(other, phonenumbers.PhoneNumber): old_other = other other = type(self)() other.merge_from(old_other) elif not isinstance(other, type(self)): raise TypeError( "'<' not supported between instances of " "'%s' and '%s'" % (type(self).__name__, type(other).__name__) ) invalid = None if not self.is_valid(): invalid = self elif not other.is_valid(): invalid = other if invalid is not None: raise ValueError("Invalid phone number: %r" % invalid) format_string = getattr(settings, "PHONENUMBER_DB_FORMAT", "E164") fmt = self.format_map[format_string] return self.format_as(fmt) < other.format_as(fmt) def __hash__(self): return hash(str(self)) def to_python(value, region=None): if value in validators.EMPTY_VALUES: # None or '' phone_number = value elif isinstance(value, str): try: phone_number = PhoneNumber.from_string(phone_number=value, region=region) except phonenumbers.NumberParseException: # the string provided is not a valid PhoneNumber. phone_number = PhoneNumber(raw_input=value) elif isinstance(value, PhoneNumber): phone_number = value elif isinstance(value, phonenumbers.PhoneNumber): phone_number = PhoneNumber() phone_number.merge_from(value) else: raise TypeError("Can't convert %s to PhoneNumber." % type(value).__name__) return phone_number def validate_region(region): if ( region is not None and region not in phonenumbers.shortdata._AVAILABLE_REGION_CODES ): raise ValueError( "“%s” is not a valid region code. Choices are %r" % (region, phonenumbers.shortdata._AVAILABLE_REGION_CODES) ) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/serializerfields.py0000600000175000017500000000105300000000000026136 0ustar00freitafrfreitafrfrom django.utils.translation import gettext_lazy as _ from rest_framework import serializers from rest_framework.exceptions import ValidationError from phonenumber_field.phonenumber import to_python class PhoneNumberField(serializers.CharField): default_error_messages = {"invalid": _("Enter a valid phone number.")} def to_internal_value(self, data): phone_number = to_python(data) if phone_number and not phone_number.is_valid(): raise ValidationError(self.error_messages["invalid"]) return phone_number ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/phonenumber_field/validators.py0000600000175000017500000000064700000000000024756 0ustar00freitafrfreitafrfrom django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ from phonenumber_field.phonenumber import to_python def validate_international_phonenumber(value): phone_number = to_python(value) if phone_number and not phone_number.is_valid(): raise ValidationError( _("The phone number entered is not valid."), code="invalid_phone_number" ) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622474682.0 django-phonenumber-field-5.2.0/phonenumber_field/version.py0000600000175000017500000000021600000000000024263 0ustar00freitafrfreitafr# coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control version = '5.2.0' version_tuple = (5, 2, 0) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129041.0 django-phonenumber-field-5.2.0/phonenumber_field/widgets.py0000600000175000017500000000662600000000000024257 0ustar00freitafrfreitafrfrom django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.forms import Select, TextInput from django.forms.widgets import MultiWidget from django.utils import translation from phonenumbers import PhoneNumberFormat from phonenumbers.data import _COUNTRY_CODE_TO_REGION_CODE from phonenumbers.phonenumberutil import ( national_significant_number, region_code_for_number, ) from phonenumber_field.phonenumber import PhoneNumber try: import babel except ModuleNotFoundError: babel = None class PhonePrefixSelect(Select): initial = None def __init__(self, initial=None): if babel is None: raise ImproperlyConfigured( "The PhonePrefixSelect widget requires the babel package be installed." ) choices = [("", "---------")] language = translation.get_language() or settings.LANGUAGE_CODE locale = babel.Locale(translation.to_locale(language)) if not initial: initial = getattr(settings, "PHONENUMBER_DEFAULT_REGION", None) for prefix, values in _COUNTRY_CODE_TO_REGION_CODE.items(): prefix = "+%d" % prefix if initial and initial in values: self.initial = prefix for country_code in values: country_name = locale.territories.get(country_code) if country_name: choices.append((prefix, "{} {}".format(country_name, prefix))) super().__init__(choices=sorted(choices, key=lambda item: item[1])) def get_context(self, name, value, attrs): return super().get_context(name, value or self.initial, attrs) class PhoneNumberPrefixWidget(MultiWidget): """ A Widget that splits phone number input into: - a country select box for phone prefix - an input for local phone number """ def __init__(self, attrs=None, initial=None): widgets = (PhonePrefixSelect(initial), TextInput()) super().__init__(widgets, attrs) def decompress(self, value): if value: if type(value) == PhoneNumber: if value.country_code and value.national_number: return [ "+%d" % value.country_code, national_significant_number(value), ] else: return value.split(".") return [None, ""] def value_from_datadict(self, data, files, name): values = super().value_from_datadict(data, files, name) if all(values): return "%s.%s" % tuple(values) return "" class PhoneNumberInternationalFallbackWidget(TextInput): """ A Widget that allows a phone number in a national format, but if given an international number will fall back to international format """ def __init__(self, region=None, attrs=None): if region is None: region = getattr(settings, "PHONENUMBER_DEFAULT_REGION", None) self.region = region super().__init__(attrs) def format_value(self, value): if isinstance(value, PhoneNumber): number_region = region_code_for_number(value) if self.region != number_region: formatter = PhoneNumberFormat.INTERNATIONAL else: formatter = PhoneNumberFormat.NATIONAL return value.format_as(formatter) return super().format_value(value) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1616407387.0 django-phonenumber-field-5.2.0/pyproject.toml0000600000175000017500000000024300000000000021453 0ustar00freitafrfreitafr[build-system] requires = [ "setuptools>=42", "wheel", "setuptools_scm[toml]>=3.4", ] [tool.setuptools_scm] write_to = "phonenumber_field/version.py" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/setup.cfg0000600000175000017500000000261500000000000020365 0ustar00freitafrfreitafr[metadata] name = django-phonenumber-field description = An international phone number field for django models. long_description = file: README.rst long_description_content_type = text/x-rst url = https://github.com/stefanfoulis/django-phonenumber-field license = MIT author = Stefan Foulis author_email = stefan@foulis.ch maintainer = Stefan Foulis maintainer_email = stefan@foulis.ch platforms = OS Independent classifiers = Development Status :: 5 - Production/Stable Framework :: Django Framework :: Django :: 2.2 Framework :: Django :: 3.1 Framework :: Django :: 3.2 Intended Audience :: Developers License :: OSI Approved :: MIT License Operating System :: OS Independent Programming Language :: Python Programming Language :: Python :: 3 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: Implementation :: CPython Topic :: Internet :: WWW/HTTP [options] zip_safe = false include_package_data = true python_requires = >=3.6 install_requires = Django >= 2.2 packages = phonenumber_field [options.extras_require] phonenumbers = phonenumbers >= 7.0.2 phonenumberslite = phonenumberslite >= 7.0.2 [flake8] max-line-length = 88 show-source = True [isort] profile = black [egg_info] tag_build = tag_date = 0 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1611230395.0 django-phonenumber-field-5.2.0/setup.py0000600000175000017500000000004600000000000020252 0ustar00freitafrfreitafrfrom setuptools import setup setup() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1622474682.9142678 django-phonenumber-field-5.2.0/tests/0000700000175000017500000000000000000000000017700 5ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/tests/__init__.py0000600000175000017500000000000000000000000022001 0ustar00freitafrfreitafr././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1618560628.0 django-phonenumber-field-5.2.0/tests/forms.py0000600000175000017500000000047400000000000021407 0ustar00freitafrfreitafrfrom django import forms from phonenumber_field.formfields import PhoneNumberField from .models import NullablePhoneNumber class PhoneNumberForm(forms.ModelForm): class Meta: model = NullablePhoneNumber fields = ["phone_number"] class CustomPhoneNumberFormField(PhoneNumberField): pass ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/tests/models.py0000600000175000017500000000577600000000000021556 0ustar00freitafrfreitafrfrom django.db import models from phonenumber_field.modelfields import PhoneNumberField class MandatoryPhoneNumber(models.Model): phone_number = PhoneNumberField() class OptionalPhoneNumber(models.Model): phone_number = PhoneNumberField(blank=True, default="") class NullablePhoneNumber(models.Model): phone_number = PhoneNumberField(blank=True, null=True) class CustomPhoneNumberModelField(PhoneNumberField): def formfield(self, **kwargs): from .forms import CustomPhoneNumberFormField return super().formfield(form_class=CustomPhoneNumberFormField) class CustomPhoneNumber(models.Model): phone_number = CustomPhoneNumberModelField() class TestModel(models.Model): """Basic Field Test""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField() class TestModelPhoneB(models.Model): """Field Test for when Blank""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(blank=True) class TestModelPhoneNU(models.Model): """Field Test for when Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(null=True, unique=True) class TestModelPhoneBNU(models.Model): """Field Test for when Blank, Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(blank=True, null=True, unique=True) class TestModelPhoneNDNU(models.Model): """Field Test for when No Default, Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(default=models.NOT_PROVIDED, null=True, unique=True) class TestModelPhoneBNDNU(models.Model): """Field Test for when Blank, No Default, Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField( blank=True, default=models.NOT_PROVIDED, null=True, unique=True ) class TestModelPhoneDNU(models.Model): """Field Test for when Default, Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(default="+41524242424", null=True, unique=True) class TestModelPhoneBDNU(models.Model): """Field Test for when Blank, Default, Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(blank=True, default="+41524242424", null=True, unique=True) class TestModelPhoneEDNU(models.Model): """Field Test for when Empty Default, Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(default="", null=True, unique=True) class TestModelPhoneBEDNU(models.Model): """Field Test for when Blank, Empty Default, Null & Unique""" name = models.CharField(max_length=255, blank=True, default="") phone = PhoneNumberField(blank=True, default="", null=True, unique=True) class FrenchPhoneOwner(models.Model): cell_number = PhoneNumberField(region="FR") ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1618560631.0 django-phonenumber-field-5.2.0/tests/settings.py0000600000175000017500000000030100000000000022106 0ustar00freitafrfreitafrDATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3"}} DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" SECRET_KEY = "secrekey" INSTALLED_APPS = ["phonenumber_field", "tests"] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129365.0 django-phonenumber-field-5.2.0/tests/test_formfields.py0000600000175000017500000000403500000000000023447 0ustar00freitafrfreitafrfrom unittest import mock from django import forms from django.test import SimpleTestCase from django.utils.functional import lazy from phonenumber_field.formfields import PhoneNumberField ALGERIAN_PHONE_NUMBER = "+213799136332" class PhoneNumberFormFieldTest(SimpleTestCase): def test_error_message(self): class PhoneNumberForm(forms.Form): number = PhoneNumberField() form = PhoneNumberForm({"number": "invalid"}) self.assertIs(form.is_valid(), False) self.assertEqual( form.errors, {"number": ["Enter a valid phone number (e.g. +12125552368)."]} ) def test_override_error_message(self): class MyPhoneNumberField(PhoneNumberField): default_error_messages = {"invalid": "MY INVALID MESSAGE!"} class PhoneNumberForm(forms.Form): number = MyPhoneNumberField() form = PhoneNumberForm({"number": "invalid"}) self.assertIs(form.is_valid(), False) self.assertEqual(form.errors, {"number": ["MY INVALID MESSAGE!"]}) def test_override_error_message_inline(self): class PhoneNumberForm(forms.Form): number = PhoneNumberField( error_messages={"invalid": "MY INLINE INVALID MESSAGE!"} ) form = PhoneNumberForm({"number": "invalid"}) self.assertIs(form.is_valid(), False) self.assertEqual(form.errors, {"number": ["MY INLINE INVALID MESSAGE!"]}) def test_algerian_phone_number_in_form(self): class PhoneNumberForm(forms.Form): number = PhoneNumberField() form = PhoneNumberForm({"number": ALGERIAN_PHONE_NUMBER}) self.assertTrue(form.is_valid()) self.assertEqual(ALGERIAN_PHONE_NUMBER, form.cleaned_data["number"]) def test_error_message_lazy(self): def fail_gettext(msgid): raise Exception("gettext was called unexpectedly.") with mock.patch( "phonenumber_field.formfields._", side_effect=lazy(fail_gettext, str), ): PhoneNumberField() ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1610796309.0 django-phonenumber-field-5.2.0/tests/test_widgets.py0000600000175000017500000000457600000000000022775 0ustar00freitafrfreitafrfrom django.test import SimpleTestCase, override_settings from django.utils import translation from phonenumber_field.phonenumber import PhoneNumber from phonenumber_field.widgets import ( PhoneNumberInternationalFallbackWidget, PhoneNumberPrefixWidget, ) class PhoneNumberPrefixWidgetTest(SimpleTestCase): def test_initial(self): rendered = PhoneNumberPrefixWidget(initial="CN").render("", "") self.assertIn('', rendered) self.assertIn('', rendered) self.assertIn('', rendered) self.assertIn('', rendered ) class PhoneNumberInternationalFallbackWidgetTest(SimpleTestCase): def test_fallback_widget_switches_between_national_and_international(self): region = "GB" number_string = "01606 751 78" number = PhoneNumber.from_string(number_string, region=region) gb_widget = PhoneNumberInternationalFallbackWidget(region="GB") de_widget = PhoneNumberInternationalFallbackWidget(region="DE") self.assertHTMLEqual( gb_widget.render("number", number), '', ) self.assertHTMLEqual( de_widget.render("number", number), '', ) # If there's been a validation error, the value should be included verbatim self.assertHTMLEqual( gb_widget.render("number", "error"), '', ) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129041.0 django-phonenumber-field-5.2.0/tests/tests.py0000600000175000017500000005340600000000000021426 0ustar00freitafrfreitafrimport phonenumbers from django import forms from django.core import checks from django.db.models import Model from django.test import TestCase, override_settings from django.utils.encoding import force_str from phonenumbers import phonenumberutil from phonenumber_field import formfields, modelfields from phonenumber_field.modelfields import PhoneNumberField from phonenumber_field.phonenumber import PhoneNumber, to_python from . import models from .forms import CustomPhoneNumberFormField, PhoneNumberForm ALGERIAN_PHONE_NUMBER = "+213799136332" def phone_transform(obj): return (obj.pk, obj.name, obj.phone) class PhoneNumberFieldTestCase(TestCase): test_number_1 = "+4930123456" equal_number_strings = ["+44 113 8921113", "+441138921113", "tel:+44-113-892-1113"] local_numbers = [("GB", "01606 751 78"), ("DE", "0176/96842671")] storage_numbers = { "E164": ["+44 113 8921113", "+441138921113"], "RFC3966": ["+44 113 8921113", "tel:+44-113-892-1113"], "INTERNATIONAL": ["+44 113 8921113", "+44 113 892 1113"], } invalid_numbers = ["+44 113 892111"] def test_str_for_valid_number(self): self.assertEqual( str(PhoneNumber.from_string(self.test_number_1)), self.test_number_1, ) def test_str_for_invalid_number(self): self.assertEqual( str(to_python("invalid")), "invalid", ) def test_repr_for_invalid_number(self): self.assertEqual( repr(to_python("invalid")), "InvalidPhoneNumber(raw_input=invalid)", ) def test_repr_for_valid_number(self): self.assertTrue( repr(PhoneNumber.from_string(self.test_number_1)).startswith( "PhoneNumber(" ), ) def test_valid_numbers_are_valid(self): numbers = [ PhoneNumber.from_string(number_string) for number_string in self.equal_number_strings ] self.assertTrue(all(number.is_valid() for number in numbers)) numbers = [ PhoneNumber.from_string(number_string, region=region) for region, number_string in self.local_numbers ] self.assertTrue(all(number.is_valid() for number in numbers)) def test_invalid_numbers_are_invalid(self): numbers = [ PhoneNumber.from_string(number_string) for number_string in self.invalid_numbers ] self.assertTrue(all(not number.is_valid() for number in numbers)) def test_same_invalid_numbers_are_equal(self): self.assertEqual(PhoneNumber(raw_input="invalid"), "invalid") def test_objects_with_same_number_are_equal(self): numbers = [ models.MandatoryPhoneNumber.objects.create( phone_number=number_string ).phone_number for number_string in self.equal_number_strings ] self.assertTrue( all( phonenumbers.is_number_match(n, numbers[0]) == phonenumbers.MatchType.EXACT_MATCH for n in numbers ) ) for number in numbers: self.assertEqual(number, numbers[0]) for number_string in self.equal_number_strings: self.assertEqual(number, number_string) def test_same_number_has_same_hash(self): numbers = [ PhoneNumber.from_string(number_string) for number_string in self.equal_number_strings ] numbers_set = set(numbers) self.assertEqual(len(numbers_set), 1) for number in numbers: self.assertIn(number, numbers_set) self.assertNotIn(self.test_number_1, numbers_set) def test_eq_and_ne(self): number_1 = "+411111111" number_2 = "+412222222" one = PhoneNumber.from_string("+411111111") two = PhoneNumber.from_string("+412222222") self.assertNotEqual(one, two) self.assertNotEqual(one, number_2) self.assertNotEqual(number_2, one) self.assertEqual(one, number_1) self.assertEqual(number_1, one) def test_blank_field_returns_empty_string(self): model = models.OptionalPhoneNumber() self.assertEqual(model.phone_number, "") model.phone_number = "+49 176 96842671" self.assertIsInstance(model.phone_number, PhoneNumber) def test_null_field_returns_none(self): model = models.NullablePhoneNumber() self.assertIsNone(model.phone_number) model.phone_number = self.test_number_1 self.assertIsInstance(model.phone_number, PhoneNumber) model.phone_number = phonenumberutil.parse( self.test_number_1, keep_raw_input=True ) self.assertIsInstance(model.phone_number, PhoneNumber) def test_can_assign_string_phone_number(self): opt_phone = models.OptionalPhoneNumber() opt_phone.phone_number = self.test_number_1 self.assertIsInstance(opt_phone.phone_number, PhoneNumber) self.assertEqual(opt_phone.phone_number.as_e164, self.test_number_1) opt_phone.full_clean() opt_phone.save() self.assertIsInstance(opt_phone.phone_number, PhoneNumber) self.assertEqual(opt_phone.phone_number.as_e164, self.test_number_1) opt_phone_db = models.OptionalPhoneNumber.objects.get(id=opt_phone.id) self.assertIsInstance(opt_phone_db.phone_number, PhoneNumber) self.assertEqual(opt_phone_db.phone_number.as_e164, self.test_number_1) def test_can_assign_phonenumber(self): """ Tests assignment phonenumberutil.PhoneNumber to field """ opt_phone = models.OptionalPhoneNumber() opt_phone.phone_number = phonenumberutil.parse( self.test_number_1, keep_raw_input=True ) self.assertIsInstance(opt_phone.phone_number, PhoneNumber) self.assertEqual(opt_phone.phone_number.as_e164, self.test_number_1) opt_phone.full_clean() opt_phone.save() self.assertIsInstance(opt_phone.phone_number, PhoneNumber) self.assertEqual(opt_phone.phone_number.as_e164, self.test_number_1) opt_phone_db = models.OptionalPhoneNumber.objects.get(id=opt_phone.id) self.assertIsInstance(opt_phone_db.phone_number, PhoneNumber) self.assertEqual(opt_phone_db.phone_number.as_e164, self.test_number_1) def test_raise_on_invalid_values(self): msg = "Can't convert int to PhoneNumber." with self.assertRaisesMessage(TypeError, msg): to_python(42) def test_create_with_int(self): msg = "Can't convert int to PhoneNumber." with self.assertRaisesMessage(TypeError, msg): models.MandatoryPhoneNumber.objects.create( phone_number=int(self.test_number_1) ) def _test_storage_formats(self): """ Aggregate of tests to perform for db storage formats """ self.test_objects_with_same_number_are_equal() self.test_blank_field_returns_empty_string() self.test_null_field_returns_none() self.test_can_assign_string_phone_number() @override_settings(PHONENUMBER_DEFAULT_REGION="DE") def test_storage_formats(self): """ Perform aggregate tests for all db storage formats """ for frmt in PhoneNumber.format_map: with override_settings(PHONENUMBER_DB_FORMAT=frmt): self._test_storage_formats() def test_prep_value(self): """ Tests correct db storage value against different setting of PHONENUMBER_DB_FORMAT Required output format is set as string constant to guarantee consistent database storage values """ number = PhoneNumberField() for frmt in ["E164", "RFC3966", "INTERNATIONAL"]: with override_settings(PHONENUMBER_DB_FORMAT=frmt): self.assertEqual( number.get_prep_value(to_python(self.storage_numbers[frmt][0])), self.storage_numbers[frmt][1], ) def test_phone_number_form_empty_value(self): form = PhoneNumberForm({"phone_number": ""}) self.assertTrue(form.is_valid()) self.assertDictEqual({"phone_number": None}, form.cleaned_data) def test_defer_phone_number_field(self): m = models.MandatoryPhoneNumber.objects.create(phone_number=self.test_number_1) m = models.MandatoryPhoneNumber.objects.defer("phone_number").get(pk=m.pk) self.assertEqual(m.phone_number, self.test_number_1) def test_filtering_by_invalid_number_does_not_raise_value_error(self): models.NullablePhoneNumber.objects.filter(phone_number="123") def test_filter_by_invalid_type_int_raises_value_error(self): msg = "Can't convert int to PhoneNumber" with self.assertRaisesMessage(TypeError, msg): models.NullablePhoneNumber.objects.filter(phone_number=123).exists() def test_filter_by_invalid_number_does_not_match_empty_or_none(self): models.NullablePhoneNumber.objects.create(phone_number="") models.NullablePhoneNumber.objects.create(phone_number=None) self.assertFalse( models.NullablePhoneNumber.objects.filter(phone_number="123").exists() ) def test_filter_by_invalid_number_does_not_match_partial(self): models.NullablePhoneNumber.objects.create(phone_number="+4930123456") self.assertFalse( models.NullablePhoneNumber.objects.filter(phone_number="123").exists() ) def test_filter_by_partial_number_of_valid_number_works(self): models.NullablePhoneNumber.objects.create(phone_number="+4923399999") models.NullablePhoneNumber.objects.create(phone_number="+4930123456") self.assertEqual( models.NullablePhoneNumber.objects.filter( phone_number__contains="9999" ).count(), 1, ) self.assertEqual( models.NullablePhoneNumber.objects.filter( phone_number__contains="123" ).count(), 1, ) class PhoneNumberFieldAppTest(TestCase): def test_save_field_to_database(self): """Basic Field Test""" tm = models.TestModel() tm.phone = "+41 52 424 2424" tm.full_clean() tm.save() pk = tm.id tm = models.TestModel.objects.get(pk=pk) self.assertIsInstance(tm.phone, PhoneNumber) self.assertQuerysetEqual( models.TestModel.objects.all(), [(tm.pk, "", "+41524242424")], transform=phone_transform, ) def test_create_with_invalid_number_works(self): obj = models.TestModel.objects.create(phone="invalid") self.assertEqual(obj.phone.raw_input, "invalid") obj = models.TestModel.objects.get(id=obj.id) self.assertEqual(obj.phone.raw_input, "invalid") def test_save_invalid_number_works(self): tm = models.TestModel.objects.create(phone="+1 604-333-4444") tm.phone = "invalid" tm.save() tm.refresh_from_db() self.assertEqual(tm.phone.raw_input, "invalid") def test_save_change_to_invalid_number_works(self): tm = models.TestModel.objects.create(phone="+1 604-333-4444") tm.phone = "invalid" tm.save(update_fields=["phone"]) self.assertEqual(tm.phone.raw_input, "invalid") tm.refresh_from_db() self.assertEqual(tm.phone.raw_input, "invalid") def test_queryset_update_to_invalid_number_works(self): tm = models.TestModel.objects.create(phone="+1 604-333-4444") models.TestModel.objects.filter(id=tm.id).update(phone="invalid") tm.refresh_from_db() self.assertEqual(tm.phone.raw_input, "invalid") def test_save_blank_phone_to_database(self): """Field Test for when Blank""" tm = models.TestModelPhoneB() tm.save() pk = tm.id tm = models.TestModelPhoneB.objects.get(pk=pk) self.assertQuerysetEqual( models.TestModelPhoneB.objects.all(), [(tm.pk, "", "")], transform=phone_transform, ) def __test_nullable_field_helper(self, TestModel): """Helper method for the next four tests.""" tm = TestModel() tm.save() pk = tm.id tm = TestModel.objects.get(pk=pk) self.assertIsNone(tm.phone) self.assertQuerysetEqual( TestModel.objects.all(), [(tm.pk, "", None)], transform=phone_transform ) # ensure that null values do not cause uniqueness conflicts TestModel.objects.create() self.assertEqual(TestModel.objects.count(), 2) def test_save_unique_null_phone_to_database(self): """Field Test for when Null & Unique""" self.__test_nullable_field_helper(models.TestModelPhoneNU) def test_save_unique_null_blank_phone_to_database(self): """Field Test for when Blank, Null & Unique""" self.__test_nullable_field_helper(models.TestModelPhoneBNU) def test_save_unique_null_none_phone_to_database(self): """Field Test for when No Default, Null & Unique""" self.__test_nullable_field_helper(models.TestModelPhoneNDNU) def test_save_unique_null_blank_none_phone_to_database(self): """Field Test for when Blank, No Default, Null & Unique""" self.__test_nullable_field_helper(models.TestModelPhoneBNDNU) def __test_nullable_default_field_helper(self, TestModel): """Helper method for the next two tests.""" tm = TestModel() tm.save() pk = tm.id tm = TestModel.objects.get(pk=pk) self.assertQuerysetEqual( TestModel.objects.all(), [(tm.pk, "", "+41524242424")], transform=phone_transform, ) def test_save_unique_null_default_phone_to_database(self): """Field Test for when Default, Null & Unique""" self.__test_nullable_default_field_helper(models.TestModelPhoneDNU) def test_save_unique_null_blank_default_phone_to_database(self): """Field Test for when Blank, Default, Null & Unique""" self.__test_nullable_default_field_helper(models.TestModelPhoneBDNU) def __test_nullable_empty_default_field_helper(self, TestModel): """Helper method for the next two tests.""" tm = TestModel() tm.save() pk = tm.id tm = TestModel.objects.get(pk=pk) self.assertQuerysetEqual( TestModel.objects.all(), [(tm.pk, "", "")], transform=phone_transform ) def test_save_unique_null_default_empty_phone_to_database(self): """Field Test for when Empty Default, Null & Unique""" self.__test_nullable_empty_default_field_helper(models.TestModelPhoneEDNU) def test_save_unique_null_blank_default_empty_phone_to_database(self): """Field Test for when Blank, Empty Default, Null & Unique""" self.__test_nullable_empty_default_field_helper(models.TestModelPhoneBEDNU) def test_model_attribute_can_be_accessed_on_class(self): self.assertIsInstance(models.TestModel.phone, modelfields.PhoneNumberDescriptor) class RegionPhoneNumberFormFieldTest(TestCase): def test_regional_phone(self): class PhoneNumberForm(forms.Form): canadian_number = formfields.PhoneNumberField(region="CA") french_number = formfields.PhoneNumberField(region="FR") form = PhoneNumberForm( {"canadian_number": "604-686-2877", "french_number": "06 12 34 56 78"} ) self.assertIs(form.is_valid(), True) self.assertEqual("+16046862877", form.cleaned_data["canadian_number"]) self.assertEqual("+33612345678", form.cleaned_data["french_number"]) def test_invalid_region(self): with self.assertRaises(ValueError) as cm: formfields.PhoneNumberField(region="invalid") self.assertTrue( force_str(cm.exception).startswith("“invalid” is not a valid region code.") ) def test_error_message_nationalize_example(self): class PhoneNumberForm(forms.Form): number = formfields.PhoneNumberField(region="CA") form = PhoneNumberForm({"number": "invalid"}) self.assertIs(form.is_valid(), False) self.assertEqual( form.errors, { "number": [ "Enter a valid phone number (e.g. (506) 234-5678) " "or a number with an international call prefix." ] }, ) class RegionPhoneNumberModelFieldTest(TestCase): def test_uses_region(self): m = models.FrenchPhoneOwner(cell_number="06 12 34 56 78") self.assertEqual(phonenumbers.parse("+33612345678"), m.cell_number) def test_accepts_international_numbers(self): num = "+16042234567" m = models.FrenchPhoneOwner(cell_number=num) self.assertEqual(phonenumbers.parse(num), m.cell_number) def test_formfield_uses_region(self): class FrenchPhoneForm(forms.ModelForm): class Meta: model = models.FrenchPhoneOwner fields = ["cell_number"] form = FrenchPhoneForm() self.assertEqual("FR", form.fields["cell_number"].region) def test_deconstruct_region(self): phone_field = modelfields.PhoneNumberField(region="CH") _name, path, args, kwargs = phone_field.deconstruct() self.assertEqual("phonenumber_field.modelfields.PhoneNumberField", path) self.assertEqual([], args) self.assertEqual({"max_length": 128, "region": "CH"}, kwargs) def test_deconstruct_no_region(self): phone_field = modelfields.PhoneNumberField() _name, path, args, kwargs = phone_field.deconstruct() self.assertEqual("phonenumber_field.modelfields.PhoneNumberField", path) self.assertEqual([], args) self.assertEqual({"max_length": 128, "region": None}, kwargs) def test_check_region(self): class InvalidRegionModel(Model): phone_field = modelfields.PhoneNumberField(region="invalid") errors = InvalidRegionModel.check() self.assertEqual(1, len(errors)) error = errors[0] self.assertIsInstance(error, checks.Error) self.assertTrue(error.msg.startswith("“invalid” is not a valid region code.")) self.assertEqual(error.obj, InvalidRegionModel._meta.get_field("phone_field")) def test_override_form_field(self): phone_number = models.CustomPhoneNumber() model_field = phone_number._meta.get_field("phone_number") self.assertIsInstance(model_field.formfield(), CustomPhoneNumberFormField) @override_settings(PHONENUMBER_DEFAULT_REGION="FR") def test_uses_default_region(self): m = models.MandatoryPhoneNumber.objects.create(phone_number="06 12 34 56 78") self.assertEqual(phonenumbers.parse("+33612345678"), m.phone_number) @override_settings(PHONENUMBER_DEFAULT_REGION="FR") def test_formfield_uses_default_region(self): class PhoneForm(forms.ModelForm): class Meta: model = models.MandatoryPhoneNumber fields = ["phone_number"] form = PhoneForm() self.assertEqual("FR", form.fields["phone_number"].region) @override_settings(PHONENUMBER_DEFAULT_REGION="FR") def test_desconstruct_does_not_use_default_region(self): field = modelfields.PhoneNumberField() _name, path, args, kwargs = field.deconstruct() self.assertEqual("phonenumber_field.modelfields.PhoneNumberField", path) self.assertEqual([], args) self.assertEqual({"max_length": 128, "region": None}, kwargs) @override_settings(PHONENUMBER_DEFAULT_REGION="FR") def test_region_uses_default_region(self): field = modelfields.PhoneNumberField() self.assertEqual("FR", field.region) def test_region_none(self): field = modelfields.PhoneNumberField() self.assertIsNone(field.region) def test_algerian_phone_number_in_model(self): m = models.MandatoryPhoneNumber.objects.create( phone_number=ALGERIAN_PHONE_NUMBER ) self.assertEqual(phonenumbers.parse(ALGERIAN_PHONE_NUMBER), m.phone_number) self.assertEqual(ALGERIAN_PHONE_NUMBER, m.phone_number) class PhoneNumberOrdering(TestCase): def test_ordering(self): phone1 = PhoneNumber.from_string("+33600000000") phone2 = PhoneNumber.from_string("+33600000001") self.assertLess(phone1, phone2) # Ordering is total. self.assertGreater(phone2, phone1) self.assertLessEqual(phone1, phone1) self.assertGreaterEqual(phone1, phone1) self.assertEqual(phone1, phone1) def test_ordering_with_phonenumbers(self): phone1 = PhoneNumber.from_string("+33600000000") phone2 = phonenumbers.parse("+33600000001") self.assertLess(phone1, phone2) def test_ordering_contains_None(self): phone1 = PhoneNumber.from_string("+33600000000") msg = "'<' not supported between instances of 'PhoneNumber' and 'NoneType'" for assertion in [ self.assertLess, self.assertLessEqual, self.assertGreater, self.assertGreaterEqual, ]: with self.subTest(assertion): with self.assertRaisesMessage(TypeError, msg): assertion(phone1, None) def test_ordering_with_invalid_value(self): phone1 = PhoneNumber.from_string("+33600000000") invalid = PhoneNumber.from_string("+1000000000") invalid_phonenumbers = phonenumbers.parse("+1000000000") for number in [invalid, invalid_phonenumbers]: with self.subTest(number): for p1, p2 in [[phone1, number], [number, phone1]]: with self.subTest([p1, p2]): with self.assertRaisesRegex( ValueError, r"^Invalid phone number: " ): self.assertLess(p1, p2) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1622129365.0 django-phonenumber-field-5.2.0/tox.ini0000600000175000017500000000156100000000000020056 0ustar00freitafrfreitafr[tox] envlist = black flake8 isort dj22 dj31 dj32 djmain minversion = 1.9 [testenv] deps = babel coverage dj22: Django>=2.2,<3.0 dj31: Django>=3.1,<3.2 dj32: Django>=3.2,<4.0 djmain: https://github.com/django/django/archive/main.tar.gz extras = phonenumberslite commands = coverage run --source phonenumber_field -m django test --settings=tests.settings {posargs} coverage xml -o coverage-reports/coverage.xml coverage html -d coverage-reports/html coverage report python check-translations [testenv:black] basepython = python3 commands = black --target-version=py36 --check --diff . deps = black skip_install = true [testenv:flake8] commands = flake8 deps = flake8 skip_install = true [testenv:isort] commands = isort --check-only --diff . deps = isort>=5.0.2 skip_install = true