summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkihiro Motoki <amotoki@gmail.com>2022-01-26 22:42:15 +0900
committerAkihiro Motoki <amotoki@gmail.com>2022-02-04 16:22:07 +0900
commitcd7c1b5110fe1f64cd9dfbeb1072b37912d0efee (patch)
tree504871f8151655482996517dc7e1abf29a36fb23
parenta9d5273f3ca91c8568959c79606332513608ec84 (diff)
downloadhorizon-cd7c1b5110fe1f64cd9dfbeb1072b37912d0efee.tar.gz
Address RemovedInDjango40Warning (2)
django.utils.translation.ugettext(), ugettext_lazy(), ugettext_noop(), ungettext(), and ungettext_lazy() are deprecated in favor of the functions that they’re aliases for: django.utils.translation.gettext(), gettext_lazy(), gettext_noop(), ngettext(), and ngettext_lazy(). https://docs.djangoproject.com/en/4.0/releases/3.0/#id3 Change-Id: I77878f84e9d10cf6a136dada81eabf4e18676250
-rw-r--r--doc/source/admin/customize-configure.rst2
-rw-r--r--doc/source/configuration/customizing.rst4
-rw-r--r--doc/source/contributor/topics/translation.rst10
-rw-r--r--doc/source/contributor/tutorials/dashboard.rst12
-rw-r--r--doc/source/contributor/tutorials/plugin.rst2
-rw-r--r--doc/source/contributor/tutorials/table_actions.rst6
-rw-r--r--horizon/base.py2
-rw-r--r--horizon/browsers/base.py2
-rw-r--r--horizon/browsers/views.py2
-rw-r--r--horizon/conf/default.py2
-rw-r--r--horizon/decorators.py2
-rw-r--r--horizon/defaults.py2
-rw-r--r--horizon/exceptions.py2
-rw-r--r--horizon/forms/fields.py2
-rw-r--r--horizon/forms/views.py2
-rw-r--r--horizon/notifications.py2
-rw-r--r--horizon/tables/actions.py2
-rw-r--r--horizon/tables/base.py2
-rw-r--r--horizon/templatetags/horizon.py2
-rw-r--r--horizon/templatetags/sizeformat.py12
-rw-r--r--horizon/test/test_dashboards/dogs/puppies/tables.py6
-rw-r--r--horizon/test/unit/tables/test_tables.py14
-rw-r--r--horizon/test/unit/test_views.py2
-rw-r--r--horizon/utils/filters.py2
-rw-r--r--horizon/utils/validators.py2
-rw-r--r--horizon/workflows/base.py2
-rw-r--r--openstack_auth/backend.py2
-rw-r--r--openstack_auth/forms.py2
-rw-r--r--openstack_auth/plugin/base.py2
-rw-r--r--openstack_auth/plugin/k2k.py2
-rw-r--r--openstack_auth/views.py2
-rw-r--r--openstack_dashboard/api/cinder.py2
-rw-r--r--openstack_dashboard/api/glance.py2
-rw-r--r--openstack_dashboard/api/keystone.py2
-rw-r--r--openstack_dashboard/api/neutron.py2
-rw-r--r--openstack_dashboard/api/nova.py2
-rw-r--r--openstack_dashboard/api/rest/cinder.py2
-rw-r--r--openstack_dashboard/api/rest/json_encoder.py2
-rw-r--r--openstack_dashboard/api/rest/neutron.py2
-rw-r--r--openstack_dashboard/api/rest/nova.py2
-rw-r--r--openstack_dashboard/api/swift.py2
-rw-r--r--openstack_dashboard/contrib/developer/dashboard.py2
-rw-r--r--openstack_dashboard/contrib/developer/form_builder/panel.py2
-rw-r--r--openstack_dashboard/contrib/developer/profiler/middleware.py2
-rw-r--r--openstack_dashboard/contrib/developer/profiler/panel.py2
-rw-r--r--openstack_dashboard/contrib/developer/profiler/views.py2
-rw-r--r--openstack_dashboard/contrib/developer/resource_browser/panel.py2
-rw-r--r--openstack_dashboard/contrib/developer/theme_preview/panel.py2
-rw-r--r--openstack_dashboard/contrib/developer/theme_preview/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/aggregates/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/aggregates/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/aggregates/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/aggregates/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/aggregates/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/backups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/backups/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/backups/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/dashboard.py2
-rw-r--r--openstack_dashboard/dashboards/admin/defaults/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/defaults/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/defaults/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/defaults/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/defaults/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/urls.py2
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/floating_ips/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/floating_ips/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/floating_ips/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/floating_ips/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/group_types/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/group_types/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/group_types/specs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/group_types/specs/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/group_types/specs/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/group_types/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/group_types/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/compute/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/compute/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/images/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/images/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/images/urls.py2
-rw-r--r--openstack_dashboard/dashboards/admin/images/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/info/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/info/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/info/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/info/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/instances/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/instances/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/instances/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/instances/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/ports/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/ports/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/ports/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/subnets/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/subnets/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/ngflavors/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/overview/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/overview/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/rbac_policies/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/rbac_policies/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/rbac_policies/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/rbac_policies/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/rbac_policies/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/extensions/extraroutes/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/ports/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/trunks/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/trunks/urls.py2
-rw-r--r--openstack_dashboard/dashboards/admin/vg_snapshots/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/vg_snapshots/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_groups/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_groups/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/extras/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/extras/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/extras/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py8
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/tables.py16
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volumes/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volumes/panel.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volumes/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volumes/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/application_credentials/forms.py2
-rw-r--r--openstack_dashboard/dashboards/identity/application_credentials/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/application_credentials/tables.py8
-rw-r--r--openstack_dashboard/dashboards/identity/application_credentials/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/dashboard.py2
-rw-r--r--openstack_dashboard/dashboards/identity/domains/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/domains/tables.py16
-rw-r--r--openstack_dashboard/dashboards/identity/domains/urls.py2
-rw-r--r--openstack_dashboard/dashboards/identity/domains/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/domains/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/identity/groups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/identity/groups/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/groups/tables.py16
-rw-r--r--openstack_dashboard/dashboards/identity/groups/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/forms.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/protocols/forms.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py8
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/tables.py8
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/mappings/forms.py2
-rw-r--r--openstack_dashboard/dashboards/identity/mappings/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/mappings/tables.py8
-rw-r--r--openstack_dashboard/dashboards/identity/mappings/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/groups/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/tables.py8
-rw-r--r--openstack_dashboard/dashboards/identity/projects/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/users/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/identity/roles/forms.py2
-rw-r--r--openstack_dashboard/dashboards/identity/roles/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/roles/tables.py8
-rw-r--r--openstack_dashboard/dashboards/identity/roles/urls.py2
-rw-r--r--openstack_dashboard/dashboards/identity/roles/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/forms.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/groups/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/panel.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/role_assignments/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/tables.py16
-rw-r--r--openstack_dashboard/dashboards/identity/users/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/urls.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/api_access/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/api_access/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/api_access/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/api_access/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/backups/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/containers/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/containers/utils.py2
-rw-r--r--openstack_dashboard/dashboards/project/dashboard.py2
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/images/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/images/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/images/images/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/images/urls.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/images/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/snapshots/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/urls.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/utils.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/audit_tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/console.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/interfaces_tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/tables.py56
-rw-r--r--openstack_dashboard/dashboards/project/instances/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/utils.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/workflows/resize_instance.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/workflows/update_instance.py2
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/urls.py2
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_qos/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_qos/urls.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/instances/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/networks/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/ports/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/routers/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/subnets/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/sg_base.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/utils.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/networks/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/overview/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/overview/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/tables.py12
-rw-r--r--openstack_dashboard/dashboards/project/routers/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/tables.py12
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/server_groups/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/server_groups/urls.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/trunks/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/trunks/urls.py2
-rw-r--r--openstack_dashboard/dashboards/project/vg_snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/vg_snapshots/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/vg_snapshots/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/vg_snapshots/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/vg_snapshots/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/volume_groups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/volume_groups/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/volume_groups/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/volume_groups/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/volume_groups/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/volume_groups/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/volumes/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/volumes/panel.py2
-rw-r--r--openstack_dashboard/dashboards/project/volumes/tables.py8
-rw-r--r--openstack_dashboard/dashboards/project/volumes/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/volumes/views.py2
-rw-r--r--openstack_dashboard/dashboards/settings/dashboard.py2
-rw-r--r--openstack_dashboard/dashboards/settings/password/forms.py2
-rw-r--r--openstack_dashboard/dashboards/settings/password/panel.py2
-rw-r--r--openstack_dashboard/dashboards/settings/password/views.py2
-rw-r--r--openstack_dashboard/dashboards/settings/user/forms.py2
-rw-r--r--openstack_dashboard/dashboards/settings/user/panel.py2
-rw-r--r--openstack_dashboard/dashboards/settings/user/views.py2
-rw-r--r--openstack_dashboard/defaults.py2
-rw-r--r--openstack_dashboard/enabled/_1010_compute_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_1310_volumes_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_1410_network_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_1910_object_store_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_2110_admin_compute_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_2210_admin_volume_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_2300_admin_network_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_2810_admin_system_panel_group.py2
-rw-r--r--openstack_dashboard/enabled/_3060_federation_panel_group.py2
-rw-r--r--openstack_dashboard/local/local_settings.py.example2
-rw-r--r--openstack_dashboard/management/commands/upgrade_check.py2
-rw-r--r--openstack_dashboard/settings.py2
-rw-r--r--openstack_dashboard/test/test_panels/another_panel/views.py2
-rw-r--r--openstack_dashboard/test/unit/usage/test_quotas.py2
-rw-r--r--openstack_dashboard/usage/base.py2
-rw-r--r--openstack_dashboard/usage/quotas.py2
-rw-r--r--openstack_dashboard/usage/tables.py2
-rw-r--r--openstack_dashboard/usage/views.py2
346 files changed, 529 insertions, 529 deletions
diff --git a/doc/source/admin/customize-configure.rst b/doc/source/admin/customize-configure.rst
index d71252529..c9055823d 100644
--- a/doc/source/admin/customize-configure.rst
+++ b/doc/source/admin/customize-configure.rst
@@ -176,7 +176,7 @@ The standard installation uses a non-encrypted HTTP channel.
import os
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
DEBUG = False
TEMPLATE_DEBUG = DEBUG
diff --git a/doc/source/configuration/customizing.rst b/doc/source/configuration/customizing.rst
index 546a013e0..428296f90 100644
--- a/doc/source/configuration/customizing.rst
+++ b/doc/source/configuration/customizing.rst
@@ -112,7 +112,7 @@ module in dotted python path notation. Example::
You can do essentially anything you like in the customization module. For
example, you could change the name of a panel::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
import horizon
@@ -208,7 +208,7 @@ Horizon is able to show these extra information as a custom column.
For example, if a user in Keystone has an attribute ``phone_num``, you could
define new column::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
from horizon import forms
from horizon import tables
diff --git a/doc/source/contributor/topics/translation.rst b/doc/source/contributor/topics/translation.rst
index 52feeeb2d..e80f24eb7 100644
--- a/doc/source/contributor/topics/translation.rst
+++ b/doc/source/contributor/topics/translation.rst
@@ -119,9 +119,9 @@ scenarios, such as interpolation, contextual markers and translation comments.
.. code-block:: python
+ from django.utils.translation import gettext as _
+ from django.utils.translation import ngettext
from django.utils.translation import pgettext
- from django.utils.translation import ugettext as _
- from django.utils.translation import ungettext
class IndexView(request):
@@ -129,7 +129,7 @@ scenarios, such as interpolation, contextual markers and translation comments.
_("Images")
# Plural example
- ungettext(
+ ngettext(
"there is %(count)d object",
"there are %(count)d objects",
count) % { "count": count }
@@ -142,11 +142,11 @@ scenarios, such as interpolation, contextual markers and translation comments.
pgettext("the month name", "May")
# Translators: This message appears as a comment for translators!
- ugettext("Welcome translators.")
+ gettext("Welcome translators.")
.. note::
- In the example above, we imported ``ugettext`` as ``_``. This is a common
+ In the example above, we imported ``gettext`` as ``_``. This is a common
alias for gettext or any of its variants.
In Django templates
diff --git a/doc/source/contributor/tutorials/dashboard.rst b/doc/source/contributor/tutorials/dashboard.rst
index f61e95c3d..8231add4c 100644
--- a/doc/source/contributor/tutorials/dashboard.rst
+++ b/doc/source/contributor/tutorials/dashboard.rst
@@ -93,7 +93,7 @@ Defining a dashboard
Open the ``dashboard.py`` file. You will notice the following code has been
automatically generated::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
import horizon
@@ -154,7 +154,7 @@ thoroughly vetted in Django's admin codebase).
Open the ``panel.py`` file, you will have the following auto-generated code::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
import horizon
@@ -199,7 +199,7 @@ the default panel::
The completed ``dashboard.py`` file should look like
the following::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
import horizon
@@ -236,7 +236,7 @@ displaying data to an end-user. We're just going to skim the surface here, but
it has a tremendous number of capabilities. Create a ``tables.py`` file under
the ``mypanel`` directory and add the following code::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
from horizon import tables
@@ -311,7 +311,7 @@ Then, we add that action to the table actions for our table.::
The completed ``tables.py`` file should look like the following::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
from horizon import tables
@@ -347,7 +347,7 @@ Create a ``tabs.py`` file under the ``mypanel`` directory. Let's make a tab
group which has one tab. The completed code should look like the following::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/doc/source/contributor/tutorials/plugin.rst b/doc/source/contributor/tutorials/plugin.rst
index bde152136..9fcd62822 100644
--- a/doc/source/contributor/tutorials/plugin.rst
+++ b/doc/source/contributor/tutorials/plugin.rst
@@ -190,7 +190,7 @@ necessity even for Angular plugins. The slug is the panel's unique identifier
and is often use as part of the URL. Make sure that it matches what you have in
your enabled file.::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/doc/source/contributor/tutorials/table_actions.rst b/doc/source/contributor/tutorials/table_actions.rst
index 26b88e050..721bdb349 100644
--- a/doc/source/contributor/tutorials/table_actions.rst
+++ b/doc/source/contributor/tutorials/table_actions.rst
@@ -69,7 +69,7 @@ Create the ``forms.py`` file under the ``mypanel`` directory and add the
following::
from django.urls import reverse
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
@@ -107,7 +107,7 @@ file should now look something like this::
from django.urls import reverse
from django.urls import reverse_lazy
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
from horizon import tabs
from horizon import exceptions
@@ -232,7 +232,7 @@ We must also add our new action as a row action for the table::
The complete ``tables.py`` file should look like this::
- from django.utils.translation import ugettext_lazy as _
+ from django.utils.translation import gettext_lazy as _
from horizon import tables
diff --git a/horizon/base.py b/horizon/base.py
index 829ee6ad7..8f574834b 100644
--- a/horizon/base.py
+++ b/horizon/base.py
@@ -37,7 +37,7 @@ from django.urls import reverse
from django.utils.functional import empty
from django.utils.functional import SimpleLazyObject
from django.utils.module_loading import module_has_submodule
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import conf
from horizon.decorators import _current_component
diff --git a/horizon/browsers/base.py b/horizon/browsers/base.py
index d8bd0fb8d..aecce4572 100644
--- a/horizon/browsers/base.py
+++ b/horizon/browsers/base.py
@@ -13,7 +13,7 @@
# under the License.
from django import template
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.breadcrumb import Breadcrumb
from horizon.tables import DataTable
diff --git a/horizon/browsers/views.py b/horizon/browsers/views.py
index 8439d1afe..bc173ac08 100644
--- a/horizon/browsers/views.py
+++ b/horizon/browsers/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views import generic
import horizon
diff --git a/horizon/conf/default.py b/horizon/conf/default.py
index e3ffcc9a8..32448aba5 100644
--- a/horizon/conf/default.py
+++ b/horizon/conf/default.py
@@ -11,7 +11,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# Default configuration dictionary. Do not mutate.
HORIZON_CONFIG = {
diff --git a/horizon/decorators.py b/horizon/decorators.py
index 38cca3f21..acee0cfb1 100644
--- a/horizon/decorators.py
+++ b/horizon/decorators.py
@@ -21,7 +21,7 @@ General-purpose decorators for use with Horizon.
"""
import functools
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
def _current_component(view_func, dashboard=None, panel=None):
diff --git a/horizon/defaults.py b/horizon/defaults.py
index eefc43879..0e4c9176b 100644
--- a/horizon/defaults.py
+++ b/horizon/defaults.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_auth.defaults import * # noqa: F401,F403,H303
diff --git a/horizon/exceptions.py b/horizon/exceptions.py
index f6a88b22a..de9b278e3 100644
--- a/horizon/exceptions.py
+++ b/horizon/exceptions.py
@@ -23,7 +23,7 @@ import sys
from debtcollector import removals
from django.core.management import color_style
from django.utils import encoding
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.debug import SafeExceptionReporterFilter
from horizon.conf import HORIZON_CONFIG
diff --git a/horizon/forms/fields.py b/horizon/forms/fields.py
index 68763f16d..05ccbf376 100644
--- a/horizon/forms/fields.py
+++ b/horizon/forms/fields.py
@@ -31,7 +31,7 @@ from django.utils.encoding import force_str
from django.utils.functional import Promise
from django.utils import html
from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
ip_allowed_symbols_re = re.compile(r'^[a-fA-F0-9:/\.]+$')
IPv4 = 1
diff --git a/horizon/forms/views.py b/horizon/forms/views.py
index e681ed4f2..8169405d6 100644
--- a/horizon/forms/views.py
+++ b/horizon/forms/views.py
@@ -17,7 +17,7 @@ import os
from django.conf import settings
from django import http
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import views
diff --git a/horizon/notifications.py b/horizon/notifications.py
index b8db56b5d..f89579f91 100644
--- a/horizon/notifications.py
+++ b/horizon/notifications.py
@@ -18,7 +18,7 @@ import logging
import os
from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import messages
diff --git a/horizon/tables/actions.py b/horizon/tables/actions.py
index ad8945a4f..dbbc3092a 100644
--- a/horizon/tables/actions.py
+++ b/horizon/tables/actions.py
@@ -25,7 +25,7 @@ from django.template.loader import render_to_string
from django import urls
from django.utils.functional import Promise
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import messages
diff --git a/horizon/tables/base.py b/horizon/tables/base.py
index 9bb0c866e..f833d4e92 100644
--- a/horizon/tables/base.py
+++ b/horizon/tables/base.py
@@ -36,7 +36,7 @@ from django.utils import http
from django.utils.http import urlencode
from django.utils.safestring import mark_safe
from django.utils import termcolors
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import conf
from horizon import exceptions
diff --git a/horizon/templatetags/horizon.py b/horizon/templatetags/horizon.py
index 48c95dd63..4895e4f58 100644
--- a/horizon/templatetags/horizon.py
+++ b/horizon/templatetags/horizon.py
@@ -19,7 +19,7 @@ from django import template
from django.template import Node
from django.utils.encoding import force_str
from django.utils import translation
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.base import Horizon
from horizon import conf
diff --git a/horizon/templatetags/sizeformat.py b/horizon/templatetags/sizeformat.py
index 65613de44..4de19c1b6 100644
--- a/horizon/templatetags/sizeformat.py
+++ b/horizon/templatetags/sizeformat.py
@@ -24,8 +24,8 @@ from oslo_utils import units
from django import template
from django.utils import formats
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
register = template.Library()
@@ -48,15 +48,15 @@ def filesizeformat(bytes, filesize_number_format):
try:
bytes = float(bytes)
except (TypeError, ValueError, UnicodeDecodeError):
- return ungettext_lazy("%(size)d B",
- "%(size)d B", 0) % {'size': 0}
+ return ngettext_lazy("%(size)d B",
+ "%(size)d B", 0) % {'size': 0}
if bytes == float('inf'):
return _('Infinity')
if bytes < units.Ki:
bytes = int(bytes)
- return ungettext_lazy("%(size)d B",
- "%(size)d B", bytes) % {'size': bytes}
+ return ngettext_lazy("%(size)d B",
+ "%(size)d B", bytes) % {'size': bytes}
if bytes < units.Mi:
return _("%s KB") % filesize_number_format(bytes / units.Ki)
if bytes < units.Gi:
diff --git a/horizon/test/test_dashboards/dogs/puppies/tables.py b/horizon/test/test_dashboards/dogs/puppies/tables.py
index 731a39cc5..22f470d88 100644
--- a/horizon/test/test_dashboards/dogs/puppies/tables.py
+++ b/horizon/test/test_dashboards/dogs/puppies/tables.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -27,7 +27,7 @@ class SellPuppy(tables.DeleteAction):
@staticmethod
def action_present(count):
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Sell Puppy",
"Sell Puppies",
count
@@ -36,7 +36,7 @@ class SellPuppy(tables.DeleteAction):
@staticmethod
def action_past(count):
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Sold Puppy",
"Sold Puppies",
count
diff --git a/horizon/test/unit/tables/test_tables.py b/horizon/test/unit/tables/test_tables.py
index 422767e99..d6b4581c2 100644
--- a/horizon/test/unit/tables/test_tables.py
+++ b/horizon/test/unit/tables/test_tables.py
@@ -25,7 +25,7 @@ from django import shortcuts
from django.template import defaultfilters
from django.test.utils import override_settings
from django.urls import reverse
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import ngettext_lazy
from horizon import exceptions
from horizon import tables
@@ -157,7 +157,7 @@ class MyBatchAction(tables.BatchAction):
@staticmethod
def action_present(count):
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Batch Item",
"Batch Items",
count
@@ -166,7 +166,7 @@ class MyBatchAction(tables.BatchAction):
@staticmethod
def action_past(count):
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Batched Item",
"Batched Items",
count
@@ -194,14 +194,14 @@ class MyToggleAction(tables.BatchAction):
def action_present(self, count):
if self.current_present_action:
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Up Item",
"Up Items",
count
)
else:
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Down Item",
"Down Items",
count
@@ -210,14 +210,14 @@ class MyToggleAction(tables.BatchAction):
def action_past(self, count):
if self.current_past_action:
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Upped Item",
"Upped Items",
count
)
else:
# Translators: test code, don't really have to translate
- return ungettext_lazy(
+ return ngettext_lazy(
"Downed Item",
"Downed Items",
count
diff --git a/horizon/test/unit/test_views.py b/horizon/test/unit/test_views.py
index aea105b8b..f47b57241 100644
--- a/horizon/test/unit/test_views.py
+++ b/horizon/test/unit/test_views.py
@@ -14,7 +14,7 @@
from django import forms
from django.test import client
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views import generic
from horizon.test import helpers as test
diff --git a/horizon/utils/filters.py b/horizon/utils/filters.py
index 3fcb29c19..30bb5c6f7 100644
--- a/horizon/utils/filters.py
+++ b/horizon/utils/filters.py
@@ -20,7 +20,7 @@ from django.template.defaultfilters import register
from django.template.defaultfilters import timesince
from django.utils.safestring import mark_safe
from django.utils import timezone
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
@register.filter
diff --git a/horizon/utils/validators.py b/horizon/utils/validators.py
index 70f7de7aa..98c90a2de 100644
--- a/horizon/utils/validators.py
+++ b/horizon/utils/validators.py
@@ -18,7 +18,7 @@ from oslo_utils import netutils
from django.core.exceptions import ValidationError
from django.core import validators
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import conf
diff --git a/horizon/workflows/base.py b/horizon/workflows/base.py
index 66bdb2df5..4a553ead1 100644
--- a/horizon/workflows/base.py
+++ b/horizon/workflows/base.py
@@ -28,7 +28,7 @@ from django.template.defaultfilters import slugify
from django import urls
from django.utils.encoding import force_str
from django.utils import module_loading
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_auth import policy
from horizon import base
diff --git a/openstack_auth/backend.py b/openstack_auth/backend.py
index e8e9fed7b..29b3b55a5 100644
--- a/openstack_auth/backend.py
+++ b/openstack_auth/backend.py
@@ -20,7 +20,7 @@ import pytz
from django.conf import settings
from django.utils.module_loading import import_string
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_auth import exceptions
from openstack_auth import user as auth_user
diff --git a/openstack_auth/forms.py b/openstack_auth/forms.py
index 74feb331e..150153c6c 100644
--- a/openstack_auth/forms.py
+++ b/openstack_auth/forms.py
@@ -18,7 +18,7 @@ from django.conf import settings
from django.contrib.auth import authenticate
from django.contrib.auth import forms as django_auth_forms
from django import forms
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.debug import sensitive_variables
from keystoneauth1 import plugin as auth_plugin
diff --git a/openstack_auth/plugin/base.py b/openstack_auth/plugin/base.py
index eee618cc7..28f90377d 100644
--- a/openstack_auth/plugin/base.py
+++ b/openstack_auth/plugin/base.py
@@ -14,7 +14,7 @@ import abc
import logging
import re
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from keystoneauth1 import exceptions as keystone_exceptions
from keystoneclient.v3 import client as v3_client
diff --git a/openstack_auth/plugin/k2k.py b/openstack_auth/plugin/k2k.py
index 36a291dc6..837b71b52 100644
--- a/openstack_auth/plugin/k2k.py
+++ b/openstack_auth/plugin/k2k.py
@@ -14,7 +14,7 @@
import logging
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from keystoneauth1.identity import v3 as v3_auth
from openstack_auth import exceptions
diff --git a/openstack_auth/views.py b/openstack_auth/views.py
index 986817561..4e6cbf570 100644
--- a/openstack_auth/views.py
+++ b/openstack_auth/views.py
@@ -24,7 +24,7 @@ from django.middleware import csrf
from django import shortcuts
from django.urls import reverse
from django.utils import http
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.csrf import csrf_protect
diff --git a/openstack_dashboard/api/cinder.py b/openstack_dashboard/api/cinder.py
index 8cb349cd3..03ac5aee3 100644
--- a/openstack_dashboard/api/cinder.py
+++ b/openstack_dashboard/api/cinder.py
@@ -22,8 +22,8 @@ import logging
import math
from django.conf import settings
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from cinderclient import api_versions
from cinderclient import client as cinder_client
diff --git a/openstack_dashboard/api/glance.py b/openstack_dashboard/api/glance.py
index 0b5de5718..fb1c7c7bb 100644
--- a/openstack_dashboard/api/glance.py
+++ b/openstack_dashboard/api/glance.py
@@ -28,7 +28,7 @@ from django.conf import settings
from django.core.files.uploadedfile import InMemoryUploadedFile
from django.core.files.uploadedfile import SimpleUploadedFile
from django.core.files.uploadedfile import TemporaryUploadedFile
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from glanceclient.v2 import client
diff --git a/openstack_dashboard/api/keystone.py b/openstack_dashboard/api/keystone.py
index 38931e52d..9eb7f1843 100644
--- a/openstack_dashboard/api/keystone.py
+++ b/openstack_dashboard/api/keystone.py
@@ -22,7 +22,7 @@ import logging
from urllib import parse
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from keystoneauth1 import session
from keystoneauth1 import token_endpoint
diff --git a/openstack_dashboard/api/neutron.py b/openstack_dashboard/api/neutron.py
index 0f06a1b22..6fc06e300 100644
--- a/openstack_dashboard/api/neutron.py
+++ b/openstack_dashboard/api/neutron.py
@@ -26,7 +26,7 @@ import logging
import netaddr
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from neutronclient.common import exceptions as neutron_exc
from neutronclient.v2_0 import client as neutron_client
from novaclient import exceptions as nova_exc
diff --git a/openstack_dashboard/api/nova.py b/openstack_dashboard/api/nova.py
index 394d893e3..981b1148d 100644
--- a/openstack_dashboard/api/nova.py
+++ b/openstack_dashboard/api/nova.py
@@ -22,7 +22,7 @@ import collections
import logging
from operator import attrgetter
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from novaclient import api_versions
from novaclient import exceptions as nova_exceptions
diff --git a/openstack_dashboard/api/rest/cinder.py b/openstack_dashboard/api/rest/cinder.py
index 4c9731c50..b3e36457f 100644
--- a/openstack_dashboard/api/rest/cinder.py
+++ b/openstack_dashboard/api/rest/cinder.py
@@ -13,7 +13,7 @@
# limitations under the License.
"""API over the cinder service."""
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views import generic
from openstack_dashboard import api
diff --git a/openstack_dashboard/api/rest/json_encoder.py b/openstack_dashboard/api/rest/json_encoder.py
index 574a74498..b90fd04a8 100644
--- a/openstack_dashboard/api/rest/json_encoder.py
+++ b/openstack_dashboard/api/rest/json_encoder.py
@@ -14,7 +14,7 @@
import json
import json.encoder as encoder
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
class NaNJSONEncoder(json.JSONEncoder):
diff --git a/openstack_dashboard/api/rest/neutron.py b/openstack_dashboard/api/rest/neutron.py
index ae1e7944d..68018fc77 100644
--- a/openstack_dashboard/api/rest/neutron.py
+++ b/openstack_dashboard/api/rest/neutron.py
@@ -14,7 +14,7 @@
# limitations under the License.
"""API over the neutron service."""
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views import generic
from openstack_dashboard import api
diff --git a/openstack_dashboard/api/rest/nova.py b/openstack_dashboard/api/rest/nova.py
index 7be6683b6..db02e5815 100644
--- a/openstack_dashboard/api/rest/nova.py
+++ b/openstack_dashboard/api/rest/nova.py
@@ -15,7 +15,7 @@
from collections import OrderedDict
from django.utils import http as utils_http
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views import generic
from novaclient import exceptions
diff --git a/openstack_dashboard/api/swift.py b/openstack_dashboard/api/swift.py
index f4055e4ea..ff67d5592 100644
--- a/openstack_dashboard/api/swift.py
+++ b/openstack_dashboard/api/swift.py
@@ -24,7 +24,7 @@ import functools
import swiftclient
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
diff --git a/openstack_dashboard/contrib/developer/dashboard.py b/openstack_dashboard/contrib/developer/dashboard.py
index 7502e83c2..4370cf467 100644
--- a/openstack_dashboard/contrib/developer/dashboard.py
+++ b/openstack_dashboard/contrib/developer/dashboard.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/contrib/developer/form_builder/panel.py b/openstack_dashboard/contrib/developer/form_builder/panel.py
index 9b47939ca..32c243a78 100644
--- a/openstack_dashboard/contrib/developer/form_builder/panel.py
+++ b/openstack_dashboard/contrib/developer/form_builder/panel.py
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/contrib/developer/profiler/middleware.py b/openstack_dashboard/contrib/developer/profiler/middleware.py
index 6751dc9eb..4671fb5fb 100644
--- a/openstack_dashboard/contrib/developer/profiler/middleware.py
+++ b/openstack_dashboard/contrib/developer/profiler/middleware.py
@@ -17,7 +17,7 @@ from django.conf import settings
from django.core import exceptions
from django.urls import reverse
from django.utils import safestring
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from osprofiler import _utils as profiler_utils
from osprofiler import profiler
from osprofiler import web
diff --git a/openstack_dashboard/contrib/developer/profiler/panel.py b/openstack_dashboard/contrib/developer/profiler/panel.py
index 5ea5ada65..296c42256 100644
--- a/openstack_dashboard/contrib/developer/profiler/panel.py
+++ b/openstack_dashboard/contrib/developer/profiler/panel.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
from horizon.utils import settings as horizon_settings
diff --git a/openstack_dashboard/contrib/developer/profiler/views.py b/openstack_dashboard/contrib/developer/profiler/views.py
index 762f0ed3d..68eeea36a 100644
--- a/openstack_dashboard/contrib/developer/profiler/views.py
+++ b/openstack_dashboard/contrib/developer/profiler/views.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views import generic
from horizon import views
diff --git a/openstack_dashboard/contrib/developer/resource_browser/panel.py b/openstack_dashboard/contrib/developer/resource_browser/panel.py
index c1977595d..7d8cfe7f0 100644
--- a/openstack_dashboard/contrib/developer/resource_browser/panel.py
+++ b/openstack_dashboard/contrib/developer/resource_browser/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/contrib/developer/theme_preview/panel.py b/openstack_dashboard/contrib/developer/theme_preview/panel.py
index ebe06fc1d..281c6ca1c 100644
--- a/openstack_dashboard/contrib/developer/theme_preview/panel.py
+++ b/openstack_dashboard/contrib/developer/theme_preview/panel.py
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/contrib/developer/theme_preview/views.py b/openstack_dashboard/contrib/developer/theme_preview/views.py
index d9dac6462..c7f422fc7 100644
--- a/openstack_dashboard/contrib/developer/theme_preview/views.py
+++ b/openstack_dashboard/contrib/developer/theme_preview/views.py
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import views
diff --git a/openstack_dashboard/dashboards/admin/aggregates/forms.py b/openstack_dashboard/dashboards/admin/aggregates/forms.py
index f857f85c1..7ca18a927 100644
--- a/openstack_dashboard/dashboards/admin/aggregates/forms.py
+++ b/openstack_dashboard/dashboards/admin/aggregates/forms.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/aggregates/panel.py b/openstack_dashboard/dashboards/admin/aggregates/panel.py
index 90c0d31dc..4d553ea87 100644
--- a/openstack_dashboard/dashboards/admin/aggregates/panel.py
+++ b/openstack_dashboard/dashboards/admin/aggregates/panel.py
@@ -12,7 +12,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/aggregates/tables.py b/openstack_dashboard/dashboards/admin/aggregates/tables.py
index fd27d0d3e..df4defac7 100644
--- a/openstack_dashboard/dashboards/admin/aggregates/tables.py
+++ b/openstack_dashboard/dashboards/admin/aggregates/tables.py
@@ -11,8 +11,8 @@
# under the License.
from django.template import defaultfilters as filters
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -25,7 +25,7 @@ class DeleteAggregateAction(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Host Aggregate",
"Delete Host Aggregates",
count
@@ -33,7 +33,7 @@ class DeleteAggregateAction(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Host Aggregate",
"Deleted Host Aggregates",
count
diff --git a/openstack_dashboard/dashboards/admin/aggregates/views.py b/openstack_dashboard/dashboards/admin/aggregates/views.py
index edd841b9a..ecb93c42d 100644
--- a/openstack_dashboard/dashboards/admin/aggregates/views.py
+++ b/openstack_dashboard/dashboards/admin/aggregates/views.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/aggregates/workflows.py b/openstack_dashboard/dashboards/admin/aggregates/workflows.py
index df81341f9..704fbc4eb 100644
--- a/openstack_dashboard/dashboards/admin/aggregates/workflows.py
+++ b/openstack_dashboard/dashboards/admin/aggregates/workflows.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/backups/forms.py b/openstack_dashboard/dashboards/admin/backups/forms.py
index da15cb7b9..c178b56cc 100644
--- a/openstack_dashboard/dashboards/admin/backups/forms.py
+++ b/openstack_dashboard/dashboards/admin/backups/forms.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/backups/tables.py b/openstack_dashboard/dashboards/admin/backups/tables.py
index c6da81b00..a61f4b0e9 100644
--- a/openstack_dashboard/dashboards/admin/backups/tables.py
+++ b/openstack_dashboard/dashboards/admin/backups/tables.py
@@ -10,8 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import exceptions
from horizon import tables
@@ -41,7 +41,7 @@ class ForceDeleteBackup(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Force Delete Volume Backup",
"Force Delete Volume Backups",
count
@@ -49,7 +49,7 @@ class ForceDeleteBackup(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Scheduled forced deletion of Volume Backup",
"Scheduled forced deletion of Volume Backups",
count
diff --git a/openstack_dashboard/dashboards/admin/backups/views.py b/openstack_dashboard/dashboards/admin/backups/views.py
index 139b02b0a..4f0a1ddfc 100644
--- a/openstack_dashboard/dashboards/admin/backups/views.py
+++ b/openstack_dashboard/dashboards/admin/backups/views.py
@@ -14,7 +14,7 @@ import logging
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/dashboard.py b/openstack_dashboard/dashboards/admin/dashboard.py
index 43c80ed52..6b2246e54 100644
--- a/openstack_dashboard/dashboards/admin/dashboard.py
+++ b/openstack_dashboard/dashboards/admin/dashboard.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_auth import utils
import horizon
diff --git a/openstack_dashboard/dashboards/admin/defaults/panel.py b/openstack_dashboard/dashboards/admin/defaults/panel.py
index 4a9e36d35..9dfee0267 100644
--- a/openstack_dashboard/dashboards/admin/defaults/panel.py
+++ b/openstack_dashboard/dashboards/admin/defaults/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/defaults/tables.py b/openstack_dashboard/dashboards/admin/defaults/tables.py
index 7746ff119..fafcb881e 100644
--- a/openstack_dashboard/dashboards/admin/defaults/tables.py
+++ b/openstack_dashboard/dashboards/admin/defaults/tables.py
@@ -14,7 +14,7 @@
from django.urls import reverse
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/defaults/tabs.py b/openstack_dashboard/dashboards/admin/defaults/tabs.py
index dabb91424..5d5118268 100644
--- a/openstack_dashboard/dashboards/admin/defaults/tabs.py
+++ b/openstack_dashboard/dashboards/admin/defaults/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/defaults/views.py b/openstack_dashboard/dashboards/admin/defaults/views.py
index 6040c88ae..9dc464532 100644
--- a/openstack_dashboard/dashboards/admin/defaults/views.py
+++ b/openstack_dashboard/dashboards/admin/defaults/views.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
from horizon import workflows
diff --git a/openstack_dashboard/dashboards/admin/defaults/workflows.py b/openstack_dashboard/dashboards/admin/defaults/workflows.py
index 19d2de600..d89e3ffe5 100644
--- a/openstack_dashboard/dashboards/admin/defaults/workflows.py
+++ b/openstack_dashboard/dashboards/admin/defaults/workflows.py
@@ -14,7 +14,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/flavors/panel.py b/openstack_dashboard/dashboards/admin/flavors/panel.py
index af86bc07e..772e73aed 100644
--- a/openstack_dashboard/dashboards/admin/flavors/panel.py
+++ b/openstack_dashboard/dashboards/admin/flavors/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/flavors/tables.py b/openstack_dashboard/dashboards/admin/flavors/tables.py
index 731249b0e..3ad4e7602 100644
--- a/openstack_dashboard/dashboards/admin/flavors/tables.py
+++ b/openstack_dashboard/dashboards/admin/flavors/tables.py
@@ -19,8 +19,8 @@
from django.template import defaultfilters as filters
from django.urls import reverse
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
from horizon.templatetags import sizeformat
@@ -33,7 +33,7 @@ class DeleteFlavor(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Flavor",
"Delete Flavors",
count
@@ -41,7 +41,7 @@ class DeleteFlavor(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Flavor",
"Deleted Flavors",
count
diff --git a/openstack_dashboard/dashboards/admin/flavors/urls.py b/openstack_dashboard/dashboards/admin/flavors/urls.py
index 882b8d718..d9f2625a8 100644
--- a/openstack_dashboard/dashboards/admin/flavors/urls.py
+++ b/openstack_dashboard/dashboards/admin/flavors/urls.py
@@ -17,7 +17,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
from openstack_dashboard.dashboards.admin.flavors import views
diff --git a/openstack_dashboard/dashboards/admin/flavors/views.py b/openstack_dashboard/dashboards/admin/flavors/views.py
index 731e77a83..ee6a237fc 100644
--- a/openstack_dashboard/dashboards/admin/flavors/views.py
+++ b/openstack_dashboard/dashboards/admin/flavors/views.py
@@ -17,7 +17,7 @@
# under the License.
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/flavors/workflows.py b/openstack_dashboard/dashboards/admin/flavors/workflows.py
index 5bec75503..074924eb8 100644
--- a/openstack_dashboard/dashboards/admin/flavors/workflows.py
+++ b/openstack_dashboard/dashboards/admin/flavors/workflows.py
@@ -17,7 +17,7 @@
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/floating_ips/forms.py b/openstack_dashboard/dashboards/admin/floating_ips/forms.py
index cdb6daea6..cf5844f33 100644
--- a/openstack_dashboard/dashboards/admin/floating_ips/forms.py
+++ b/openstack_dashboard/dashboards/admin/floating_ips/forms.py
@@ -14,7 +14,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/floating_ips/panel.py b/openstack_dashboard/dashboards/admin/floating_ips/panel.py
index 6cd6ecd58..9d117b077 100644
--- a/openstack_dashboard/dashboards/admin/floating_ips/panel.py
+++ b/openstack_dashboard/dashboards/admin/floating_ips/panel.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/floating_ips/tables.py b/openstack_dashboard/dashboards/admin/floating_ips/tables.py
index 15e90a62f..70e1468ea 100644
--- a/openstack_dashboard/dashboards/admin/floating_ips/tables.py
+++ b/openstack_dashboard/dashboards/admin/floating_ips/tables.py
@@ -16,7 +16,7 @@
import logging
from django import shortcuts
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import messages
diff --git a/openstack_dashboard/dashboards/admin/floating_ips/views.py b/openstack_dashboard/dashboards/admin/floating_ips/views.py
index c6e291acd..7855e9f13 100644
--- a/openstack_dashboard/dashboards/admin/floating_ips/views.py
+++ b/openstack_dashboard/dashboards/admin/floating_ips/views.py
@@ -17,7 +17,7 @@ from collections import OrderedDict
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import netaddr
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/group_types/forms.py b/openstack_dashboard/dashboards/admin/group_types/forms.py
index 6d5760418..82c243e84 100644
--- a/openstack_dashboard/dashboards/admin/group_types/forms.py
+++ b/openstack_dashboard/dashboards/admin/group_types/forms.py
@@ -12,7 +12,7 @@
from django.forms import ValidationError
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/group_types/panel.py b/openstack_dashboard/dashboards/admin/group_types/panel.py
index 392fd25f1..cdbdbab00 100644
--- a/openstack_dashboard/dashboards/admin/group_types/panel.py
+++ b/openstack_dashboard/dashboards/admin/group_types/panel.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/group_types/specs/forms.py b/openstack_dashboard/dashboards/admin/group_types/specs/forms.py
index 66e7c6d21..634a83074 100644
--- a/openstack_dashboard/dashboards/admin/group_types/specs/forms.py
+++ b/openstack_dashboard/dashboards/admin/group_types/specs/forms.py
@@ -13,7 +13,7 @@
import re
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/group_types/specs/tables.py b/openstack_dashboard/dashboards/admin/group_types/specs/tables.py
index 6daf4abfd..16e590934 100644
--- a/openstack_dashboard/dashboards/admin/group_types/specs/tables.py
+++ b/openstack_dashboard/dashboards/admin/group_types/specs/tables.py
@@ -13,8 +13,8 @@
from urllib import parse
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -25,7 +25,7 @@ class GroupTypeSpecDelete(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Spec",
"Delete Specs",
count
@@ -33,7 +33,7 @@ class GroupTypeSpecDelete(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Spec",
"Delete Specs",
count
diff --git a/openstack_dashboard/dashboards/admin/group_types/specs/views.py b/openstack_dashboard/dashboards/admin/group_types/specs/views.py
index ce207f35c..34d596bdf 100644
--- a/openstack_dashboard/dashboards/admin/group_types/specs/views.py
+++ b/openstack_dashboard/dashboards/admin/group_types/specs/views.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/group_types/tables.py b/openstack_dashboard/dashboards/admin/group_types/tables.py
index ee492fa20..680d259dc 100644
--- a/openstack_dashboard/dashboards/admin/group_types/tables.py
+++ b/openstack_dashboard/dashboards/admin/group_types/tables.py
@@ -13,8 +13,8 @@
from django.template import defaultfilters as filters
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import exceptions
from horizon import forms
@@ -62,7 +62,7 @@ class GroupTypesFilterAction(tables.FilterAction):
class DeleteGroupType(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Group Type",
"Delete Group Types",
count
@@ -70,7 +70,7 @@ class DeleteGroupType(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Group Type",
"Deleted Group Types",
count
diff --git a/openstack_dashboard/dashboards/admin/group_types/views.py b/openstack_dashboard/dashboards/admin/group_types/views.py
index 9fb6f8ee1..8005c6e53 100644
--- a/openstack_dashboard/dashboards/admin/group_types/views.py
+++ b/openstack_dashboard/dashboards/admin/group_types/views.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py
index c3f3e2383..50ddcbfbc 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py
index 8564f16d4..5a7673ce7 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py
@@ -11,9 +11,9 @@
# under the License.
from django.template import defaultfilters as filters
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import tables
from horizon.utils import filters as utils_filters
@@ -54,7 +54,7 @@ class EnableService(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Enable Service",
"Enable Services",
count
@@ -62,7 +62,7 @@ class EnableService(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Enabled Service",
"Enabled Services",
count
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/tabs.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/tabs.py
index fe980288a..40666efc5 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/compute/tabs.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/tabs.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py
index 8520f885d..cf10c4bf2 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/panel.py b/openstack_dashboard/dashboards/admin/hypervisors/panel.py
index cbd2ba358..5b29a5ec4 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/panel.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/tables.py b/openstack_dashboard/dashboards/admin/hypervisors/tables.py
index f2480bc98..0a36139be 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/tables.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tables
from horizon.templatetags import sizeformat
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/tabs.py b/openstack_dashboard/dashboards/admin/hypervisors/tabs.py
index af2b40038..4b08c0a93 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/tabs.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/tabs.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/views.py b/openstack_dashboard/dashboards/admin/hypervisors/views.py
index 7b6fc9391..643b07695 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/views.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/views.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/images/panel.py b/openstack_dashboard/dashboards/admin/images/panel.py
index f6dc1252c..2f6505ba9 100644
--- a/openstack_dashboard/dashboards/admin/images/panel.py
+++ b/openstack_dashboard/dashboards/admin/images/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/images/tables.py b/openstack_dashboard/dashboards/admin/images/tables.py
index 9086e703b..5b2e0243d 100644
--- a/openstack_dashboard/dashboards/admin/images/tables.py
+++ b/openstack_dashboard/dashboards/admin/images/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/images/urls.py b/openstack_dashboard/dashboards/admin/images/urls.py
index 368aec300..cc5028618 100644
--- a/openstack_dashboard/dashboards/admin/images/urls.py
+++ b/openstack_dashboard/dashboards/admin/images/urls.py
@@ -17,7 +17,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
from openstack_dashboard.dashboards.admin.images import views
diff --git a/openstack_dashboard/dashboards/admin/images/views.py b/openstack_dashboard/dashboards/admin/images/views.py
index 35a55ed73..3af084392 100644
--- a/openstack_dashboard/dashboards/admin/images/views.py
+++ b/openstack_dashboard/dashboards/admin/images/views.py
@@ -23,7 +23,7 @@ from oslo_utils import units
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import messages
diff --git a/openstack_dashboard/dashboards/admin/info/panel.py b/openstack_dashboard/dashboards/admin/info/panel.py
index 85a964244..d314a8fd4 100644
--- a/openstack_dashboard/dashboards/admin/info/panel.py
+++ b/openstack_dashboard/dashboards/admin/info/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/info/tables.py b/openstack_dashboard/dashboards/admin/info/tables.py
index adbd2a151..4fc9fe3cb 100644
--- a/openstack_dashboard/dashboards/admin/info/tables.py
+++ b/openstack_dashboard/dashboards/admin/info/tables.py
@@ -13,8 +13,8 @@
from django import template
from django.template import defaultfilters as filters
from django import urls
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from horizon import tables
from horizon.utils import filters as utils_filters
diff --git a/openstack_dashboard/dashboards/admin/info/tabs.py b/openstack_dashboard/dashboards/admin/info/tabs.py
index 4d0ff1bd3..5c065876f 100644
--- a/openstack_dashboard/dashboards/admin/info/tabs.py
+++ b/openstack_dashboard/dashboards/admin/info/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/info/views.py b/openstack_dashboard/dashboards/admin/info/views.py
index 941e242fb..138c41d3d 100644
--- a/openstack_dashboard/dashboards/admin/info/views.py
+++ b/openstack_dashboard/dashboards/admin/info/views.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/instances/forms.py b/openstack_dashboard/dashboards/admin/instances/forms.py
index f6adb876a..364128823 100644
--- a/openstack_dashboard/dashboards/admin/instances/forms.py
+++ b/openstack_dashboard/dashboards/admin/instances/forms.py
@@ -14,7 +14,7 @@
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/instances/panel.py b/openstack_dashboard/dashboards/admin/instances/panel.py
index e116f2d02..b0eb71169 100644
--- a/openstack_dashboard/dashboards/admin/instances/panel.py
+++ b/openstack_dashboard/dashboards/admin/instances/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/instances/tables.py b/openstack_dashboard/dashboards/admin/instances/tables.py
index 33376b4fd..0e8bac407 100644
--- a/openstack_dashboard/dashboards/admin/instances/tables.py
+++ b/openstack_dashboard/dashboards/admin/instances/tables.py
@@ -15,8 +15,8 @@
from django.template.defaultfilters import title
from django import urls
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from keystoneclient import exceptions as keystone_exceptions
from horizon import tables
@@ -55,7 +55,7 @@ class MigrateInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Migrate Instance",
"Migrate Instances",
count
@@ -63,7 +63,7 @@ class MigrateInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Scheduled migration (pending confirmation) of Instance",
"Scheduled migration (pending confirmation) of Instances",
count
diff --git a/openstack_dashboard/dashboards/admin/instances/views.py b/openstack_dashboard/dashboards/admin/instances/views.py
index 9dcd11068..c35527fe4 100644
--- a/openstack_dashboard/dashboards/admin/instances/views.py
+++ b/openstack_dashboard/dashboards/admin/instances/views.py
@@ -19,7 +19,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/forms.py b/openstack_dashboard/dashboards/admin/metadata_defs/forms.py
index 4055337b8..12f39f542 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/forms.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/forms.py
@@ -20,7 +20,7 @@ import json
from django.forms import ValidationError
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/panel.py b/openstack_dashboard/dashboards/admin/metadata_defs/panel.py
index 097324ca1..3baa4b1e1 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/panel.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/panel.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/tables.py b/openstack_dashboard/dashboards/admin/metadata_defs/tables.py
index 0625cac7a..38dc98aea 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/tables.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/tables.py
@@ -13,8 +13,8 @@
# under the License.
from django.template import defaultfilters as filters
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import forms
from horizon import tables
@@ -43,7 +43,7 @@ class EditNamespace(tables.LinkAction):
class DeleteNamespace(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Namespace",
"Delete Namespaces",
count
@@ -51,7 +51,7 @@ class DeleteNamespace(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Namespace",
"Deleted Namespaces",
count
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/tabs.py b/openstack_dashboard/dashboards/admin/metadata_defs/tabs.py
index d51e7c5ca..f5ed26cd6 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/tabs.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/views.py b/openstack_dashboard/dashboards/admin/metadata_defs/views.py
index 2d90bc7a7..acdb3bd58 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/views.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/views.py
@@ -16,7 +16,7 @@ import json
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/forms.py b/openstack_dashboard/dashboards/admin/networks/agents/forms.py
index 1cdd8c298..3d9d2b63b 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/forms.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/forms.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/tables.py b/openstack_dashboard/dashboards/admin/networks/agents/tables.py
index 724f00aae..9c5793452 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/tables.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/tables.py
@@ -16,8 +16,8 @@ import logging
from django.template import defaultfilters as filters
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
from horizon.utils import filters as utils_filters
@@ -31,7 +31,7 @@ LOG = logging.getLogger(__name__)
class DeleteDHCPAgent(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete DHCP Agent",
"Delete DHCP Agents",
count
@@ -39,7 +39,7 @@ class DeleteDHCPAgent(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted DHCP Agent",
"Deleted DHCP Agents",
count
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/tabs.py b/openstack_dashboard/dashboards/admin/networks/agents/tabs.py
index 961b219cf..08b013f75 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/tabs.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/tabs.py
@@ -14,7 +14,7 @@
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/views.py b/openstack_dashboard/dashboards/admin/networks/agents/views.py
index 1f38db3ad..ea00e5578 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/views.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/networks/forms.py b/openstack_dashboard/dashboards/admin/networks/forms.py
index 1ea5941f0..bfe7f6691 100644
--- a/openstack_dashboard/dashboards/admin/networks/forms.py
+++ b/openstack_dashboard/dashboards/admin/networks/forms.py
@@ -15,7 +15,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/networks/panel.py b/openstack_dashboard/dashboards/admin/networks/panel.py
index f49c5d6f4..f1ce7638e 100644
--- a/openstack_dashboard/dashboards/admin/networks/panel.py
+++ b/openstack_dashboard/dashboards/admin/networks/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/networks/ports/tables.py b/openstack_dashboard/dashboards/admin/networks/ports/tables.py
index 1ddd1aa84..e638eeb74 100644
--- a/openstack_dashboard/dashboards/admin/networks/ports/tables.py
+++ b/openstack_dashboard/dashboards/admin/networks/ports/tables.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/networks/ports/views.py b/openstack_dashboard/dashboards/admin/networks/ports/views.py
index 1f6635d38..267e8615e 100644
--- a/openstack_dashboard/dashboards/admin/networks/ports/views.py
+++ b/openstack_dashboard/dashboards/admin/networks/ports/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.admin.networks.ports \
import tables as ports_tables
diff --git a/openstack_dashboard/dashboards/admin/networks/ports/workflows.py b/openstack_dashboard/dashboards/admin/networks/ports/workflows.py
index 089c8b273..2405482bb 100644
--- a/openstack_dashboard/dashboards/admin/networks/ports/workflows.py
+++ b/openstack_dashboard/dashboards/admin/networks/ports/workflows.py
@@ -16,7 +16,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/networks/subnets/tables.py b/openstack_dashboard/dashboards/admin/networks/subnets/tables.py
index 9ce9567f6..4c867f538 100644
--- a/openstack_dashboard/dashboards/admin/networks/subnets/tables.py
+++ b/openstack_dashboard/dashboards/admin/networks/subnets/tables.py
@@ -16,7 +16,7 @@ import logging
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py b/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py
index edc462258..fd7ce5fea 100644
--- a/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py
+++ b/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py
@@ -15,7 +15,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.project.networks.subnets \
import workflows as project_workflows
diff --git a/openstack_dashboard/dashboards/admin/networks/tables.py b/openstack_dashboard/dashboards/admin/networks/tables.py
index ed3b9d70f..b8f3f977c 100644
--- a/openstack_dashboard/dashboards/admin/networks/tables.py
+++ b/openstack_dashboard/dashboards/admin/networks/tables.py
@@ -15,8 +15,8 @@
import logging
from django.template import defaultfilters as filters
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/networks/views.py b/openstack_dashboard/dashboards/admin/networks/views.py
index df0d1d67e..5c6c90455 100644
--- a/openstack_dashboard/dashboards/admin/networks/views.py
+++ b/openstack_dashboard/dashboards/admin/networks/views.py
@@ -15,7 +15,7 @@
from collections import OrderedDict
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/ngflavors/panel.py b/openstack_dashboard/dashboards/admin/ngflavors/panel.py
index 984176337..fdf637cca 100644
--- a/openstack_dashboard/dashboards/admin/ngflavors/panel.py
+++ b/openstack_dashboard/dashboards/admin/ngflavors/panel.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/overview/panel.py b/openstack_dashboard/dashboards/admin/overview/panel.py
index a1cd5f22d..afd55aa39 100644
--- a/openstack_dashboard/dashboards/admin/overview/panel.py
+++ b/openstack_dashboard/dashboards/admin/overview/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/overview/views.py b/openstack_dashboard/dashboards/admin/overview/views.py
index dde3ab9f0..a94310208 100644
--- a/openstack_dashboard/dashboards/admin/overview/views.py
+++ b/openstack_dashboard/dashboards/admin/overview/views.py
@@ -19,7 +19,7 @@
from django.conf import settings
from django.template.defaultfilters import floatformat
from django.utils.text import format_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon.utils import csvbase
diff --git a/openstack_dashboard/dashboards/admin/rbac_policies/forms.py b/openstack_dashboard/dashboards/admin/rbac_policies/forms.py
index 1fb1e5347..a7261e871 100644
--- a/openstack_dashboard/dashboards/admin/rbac_policies/forms.py
+++ b/openstack_dashboard/dashboards/admin/rbac_policies/forms.py
@@ -14,7 +14,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from neutronclient.common import exceptions as neutron_exc
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/rbac_policies/panel.py b/openstack_dashboard/dashboards/admin/rbac_policies/panel.py
index c23bdb073..18a7a6f57 100644
--- a/openstack_dashboard/dashboards/admin/rbac_policies/panel.py
+++ b/openstack_dashboard/dashboards/admin/rbac_policies/panel.py
@@ -12,7 +12,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/rbac_policies/tables.py b/openstack_dashboard/dashboards/admin/rbac_policies/tables.py
index 5aad054c0..4ab0daa0d 100644
--- a/openstack_dashboard/dashboards/admin/rbac_policies/tables.py
+++ b/openstack_dashboard/dashboards/admin/rbac_policies/tables.py
@@ -12,8 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -35,7 +35,7 @@ class DeleteRBACPolicy(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete RBAC Policy",
"Delete RBAC Policies",
count
@@ -43,7 +43,7 @@ class DeleteRBACPolicy(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted RBAC Policy",
"Deleted RBAC Policies",
count
diff --git a/openstack_dashboard/dashboards/admin/rbac_policies/tabs.py b/openstack_dashboard/dashboards/admin/rbac_policies/tabs.py
index 8ea058354..8ed56e219 100644
--- a/openstack_dashboard/dashboards/admin/rbac_policies/tabs.py
+++ b/openstack_dashboard/dashboards/admin/rbac_policies/tabs.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/rbac_policies/views.py b/openstack_dashboard/dashboards/admin/rbac_policies/views.py
index c9af34697..f228b36ac 100644
--- a/openstack_dashboard/dashboards/admin/rbac_policies/views.py
+++ b/openstack_dashboard/dashboards/admin/rbac_policies/views.py
@@ -14,7 +14,7 @@ from collections import OrderedDict
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/routers/extensions/extraroutes/tables.py b/openstack_dashboard/dashboards/admin/routers/extensions/extraroutes/tables.py
index 226904ead..57a4caa3b 100644
--- a/openstack_dashboard/dashboards/admin/routers/extensions/extraroutes/tables.py
+++ b/openstack_dashboard/dashboards/admin/routers/extensions/extraroutes/tables.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.project.routers.extensions.extraroutes\
import tables as routes_table
diff --git a/openstack_dashboard/dashboards/admin/routers/forms.py b/openstack_dashboard/dashboards/admin/routers/forms.py
index 465ce36d5..cd7f3933e 100644
--- a/openstack_dashboard/dashboards/admin/routers/forms.py
+++ b/openstack_dashboard/dashboards/admin/routers/forms.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/routers/panel.py b/openstack_dashboard/dashboards/admin/routers/panel.py
index 81bc0c2ba..3dc5444b1 100644
--- a/openstack_dashboard/dashboards/admin/routers/panel.py
+++ b/openstack_dashboard/dashboards/admin/routers/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/routers/ports/tables.py b/openstack_dashboard/dashboards/admin/routers/ports/tables.py
index 5d36307ce..f3a994ecc 100644
--- a/openstack_dashboard/dashboards/admin/routers/ports/tables.py
+++ b/openstack_dashboard/dashboards/admin/routers/ports/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tables
from openstack_dashboard.dashboards.project.routers.ports \
diff --git a/openstack_dashboard/dashboards/admin/routers/tables.py b/openstack_dashboard/dashboards/admin/routers/tables.py
index 2a9d409dd..a37a45b4f 100644
--- a/openstack_dashboard/dashboards/admin/routers/tables.py
+++ b/openstack_dashboard/dashboards/admin/routers/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tables
from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/routers/views.py b/openstack_dashboard/dashboards/admin/routers/views.py
index cbd301a70..9a4434104 100644
--- a/openstack_dashboard/dashboards/admin/routers/views.py
+++ b/openstack_dashboard/dashboards/admin/routers/views.py
@@ -17,7 +17,7 @@ Views for managing Neutron Routers.
"""
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/snapshots/forms.py b/openstack_dashboard/dashboards/admin/snapshots/forms.py
index c4522ba18..716307db0 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/forms.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/forms.py
@@ -12,7 +12,7 @@
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/snapshots/panel.py b/openstack_dashboard/dashboards/admin/snapshots/panel.py
index 0970f5e21..bfc2b2f4b 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/panel.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/snapshots/tables.py b/openstack_dashboard/dashboards/admin/snapshots/tables.py
index 458604396..a212f7422 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/tables.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/tables.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/snapshots/tabs.py b/openstack_dashboard/dashboards/admin/snapshots/tabs.py
index bea8398b5..940fb074f 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/tabs.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/tabs.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/snapshots/views.py b/openstack_dashboard/dashboards/admin/snapshots/views.py
index 5225db29f..009405b77 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/views.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/views.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/trunks/panel.py b/openstack_dashboard/dashboards/admin/trunks/panel.py
index d530b73cf..8d5f702a0 100644
--- a/openstack_dashboard/dashboards/admin/trunks/panel.py
+++ b/openstack_dashboard/dashboards/admin/trunks/panel.py
@@ -14,7 +14,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/trunks/urls.py b/openstack_dashboard/dashboards/admin/trunks/urls.py
index 7cc3d1763..152e74ef4 100644
--- a/openstack_dashboard/dashboards/admin/trunks/urls.py
+++ b/openstack_dashboard/dashboards/admin/trunks/urls.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
diff --git a/openstack_dashboard/dashboards/admin/vg_snapshots/tables.py b/openstack_dashboard/dashboards/admin/vg_snapshots/tables.py
index b96328c77..1fd09ff7e 100644
--- a/openstack_dashboard/dashboards/admin/vg_snapshots/tables.py
+++ b/openstack_dashboard/dashboards/admin/vg_snapshots/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/vg_snapshots/views.py b/openstack_dashboard/dashboards/admin/vg_snapshots/views.py
index aceb99756..48738a80d 100644
--- a/openstack_dashboard/dashboards/admin/vg_snapshots/views.py
+++ b/openstack_dashboard/dashboards/admin/vg_snapshots/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/volume_groups/tables.py b/openstack_dashboard/dashboards/admin/volume_groups/tables.py
index a0a083552..cd378c75f 100644
--- a/openstack_dashboard/dashboards/admin/volume_groups/tables.py
+++ b/openstack_dashboard/dashboards/admin/volume_groups/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/volume_groups/views.py b/openstack_dashboard/dashboards/admin/volume_groups/views.py
index 2ee6478f1..5d2ce8b25 100644
--- a/openstack_dashboard/dashboards/admin/volume_groups/views.py
+++ b/openstack_dashboard/dashboards/admin/volume_groups/views.py
@@ -14,7 +14,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py b/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py
index c5fc120f2..a44092692 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py
@@ -13,7 +13,7 @@
import re
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py b/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py
index 843372b9b..d8934376e 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py
@@ -11,8 +11,8 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -23,7 +23,7 @@ class ExtraSpecDelete(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Extra Spec",
"Delete Extra Specs",
count
@@ -31,7 +31,7 @@ class ExtraSpecDelete(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Extra Spec",
"Deleted Extra Specs",
count
diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/views.py b/openstack_dashboard/dashboards/admin/volume_types/extras/views.py
index 29c809e0b..90016785f 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/extras/views.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/extras/views.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/volume_types/forms.py b/openstack_dashboard/dashboards/admin/volume_types/forms.py
index c73777b12..e3eb59487 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/forms.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/forms.py
@@ -12,7 +12,7 @@
from django.forms import ValidationError
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/volume_types/panel.py b/openstack_dashboard/dashboards/admin/volume_types/panel.py
index 56c56f3d5..c13c0b0a3 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/panel.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py
index 2e6503469..c71f19c3c 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py
@@ -13,7 +13,7 @@
import re
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py
index 6164a175a..de8a4de71 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py
@@ -13,8 +13,8 @@
from urllib import parse
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -37,7 +37,7 @@ class SpecCreateKeyValuePair(tables.LinkAction):
class SpecDeleteKeyValuePair(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Spec",
"Delete Specs",
count
@@ -45,7 +45,7 @@ class SpecDeleteKeyValuePair(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Spec",
"Deleted Specs",
count
diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py
index dff4317b6..c8fe8827d 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/volume_types/tables.py b/openstack_dashboard/dashboards/admin/volume_types/tables.py
index 85dda38f0..4e056d0ea 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/tables.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/tables.py
@@ -12,8 +12,8 @@
from django.template import defaultfilters as filters
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import exceptions
from horizon import forms
@@ -74,7 +74,7 @@ class ManageQosSpecAssociation(tables.LinkAction):
class DeleteVolumeType(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Volume Type",
"Delete Volume Types",
count
@@ -82,7 +82,7 @@ class DeleteVolumeType(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Volume Type",
"Deleted Volume Types",
count
@@ -125,7 +125,7 @@ class DeleteVolumeTypeEncryption(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Encryption",
"Delete Encryptions",
count
@@ -133,7 +133,7 @@ class DeleteVolumeTypeEncryption(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Encryption",
"Deleted Encryptions",
count
@@ -292,7 +292,7 @@ class CreateQosSpec(tables.LinkAction):
class DeleteQosSpecs(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete QoS Spec",
"Delete QoS Specs",
count
@@ -300,7 +300,7 @@ class DeleteQosSpecs(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted QoS Spec",
"Deleted QoS Specs",
count
diff --git a/openstack_dashboard/dashboards/admin/volume_types/views.py b/openstack_dashboard/dashboards/admin/volume_types/views.py
index 47ebb7583..40e449e9d 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/views.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/views.py
@@ -17,7 +17,7 @@ from collections import OrderedDict
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/volumes/forms.py b/openstack_dashboard/dashboards/admin/volumes/forms.py
index e902aeee7..d273c418e 100644
--- a/openstack_dashboard/dashboards/admin/volumes/forms.py
+++ b/openstack_dashboard/dashboards/admin/volumes/forms.py
@@ -17,7 +17,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/volumes/panel.py b/openstack_dashboard/dashboards/admin/volumes/panel.py
index 394277a2d..d8892eda0 100644
--- a/openstack_dashboard/dashboards/admin/volumes/panel.py
+++ b/openstack_dashboard/dashboards/admin/volumes/panel.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/admin/volumes/tables.py b/openstack_dashboard/dashboards/admin/volumes/tables.py
index cedfe3a42..4bad7b155 100644
--- a/openstack_dashboard/dashboards/admin/volumes/tables.py
+++ b/openstack_dashboard/dashboards/admin/volumes/tables.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/admin/volumes/views.py b/openstack_dashboard/dashboards/admin/volumes/views.py
index 70315e390..2fb812f26 100644
--- a/openstack_dashboard/dashboards/admin/volumes/views.py
+++ b/openstack_dashboard/dashboards/admin/volumes/views.py
@@ -18,7 +18,7 @@ Admin views for managing volumes and snapshots.
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/application_credentials/forms.py b/openstack_dashboard/dashboards/identity/application_credentials/forms.py
index 5a8614d86..62c6fdf4f 100644
--- a/openstack_dashboard/dashboards/identity/application_credentials/forms.py
+++ b/openstack_dashboard/dashboards/identity/application_credentials/forms.py
@@ -17,7 +17,7 @@ import logging
from django.conf import settings
from django.forms import widgets
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.debug import sensitive_variables
import yaml
diff --git a/openstack_dashboard/dashboards/identity/application_credentials/panel.py b/openstack_dashboard/dashboards/identity/application_credentials/panel.py
index d3c54c1e6..77a2f80ca 100644
--- a/openstack_dashboard/dashboards/identity/application_credentials/panel.py
+++ b/openstack_dashboard/dashboards/identity/application_credentials/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/application_credentials/tables.py b/openstack_dashboard/dashboards/identity/application_credentials/tables.py
index 27eae86d9..cce362ea5 100644
--- a/openstack_dashboard/dashboards/identity/application_credentials/tables.py
+++ b/openstack_dashboard/dashboards/identity/application_credentials/tables.py
@@ -10,8 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -34,7 +34,7 @@ class DeleteApplicationCredentialAction(policy.PolicyTargetMixin,
tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Application Credential",
"Delete Application Credentials",
count
@@ -42,7 +42,7 @@ class DeleteApplicationCredentialAction(policy.PolicyTargetMixin,
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Application Credential",
"Deleted Application Credentialss",
count
diff --git a/openstack_dashboard/dashboards/identity/application_credentials/views.py b/openstack_dashboard/dashboards/identity/application_credentials/views.py
index e6170295f..8a0865ec8 100644
--- a/openstack_dashboard/dashboards/identity/application_credentials/views.py
+++ b/openstack_dashboard/dashboards/identity/application_credentials/views.py
@@ -17,7 +17,7 @@ from django import http
from django.template.loader import render_to_string
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/dashboard.py b/openstack_dashboard/dashboards/identity/dashboard.py
index 78fe256c2..63d61bf56 100644
--- a/openstack_dashboard/dashboards/identity/dashboard.py
+++ b/openstack_dashboard/dashboards/identity/dashboard.py
@@ -13,7 +13,7 @@
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/domains/panel.py b/openstack_dashboard/dashboards/identity/domains/panel.py
index 7d596ed16..a14038cfb 100644
--- a/openstack_dashboard/dashboards/identity/domains/panel.py
+++ b/openstack_dashboard/dashboards/identity/domains/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/domains/tables.py b/openstack_dashboard/dashboards/identity/domains/tables.py
index e0588accc..62c1b1941 100644
--- a/openstack_dashboard/dashboards/identity/domains/tables.py
+++ b/openstack_dashboard/dashboards/identity/domains/tables.py
@@ -19,8 +19,8 @@ from django import shortcuts
from django.template import defaultfilters as filters
from django.urls import reverse
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from keystoneclient import exceptions as keystoneclient_exceptions
@@ -92,7 +92,7 @@ class EditDomainLink(tables.LinkAction):
class DeleteDomainsAction(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Domain",
"Delete Domains",
count
@@ -100,7 +100,7 @@ class DeleteDomainsAction(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Domain",
"Deleted Domains",
count
@@ -126,7 +126,7 @@ class DeleteDomainsAction(tables.DeleteAction):
class DisableDomainsAction(tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Disable Domain",
"Disable Domains",
count
@@ -134,7 +134,7 @@ class DisableDomainsAction(tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Disabled Domain",
"Disabled Domains",
count
@@ -166,7 +166,7 @@ class DisableDomainsAction(tables.BatchAction):
class EnableDomainsAction(tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Enable Domain",
"Enable Domains",
count
@@ -174,7 +174,7 @@ class EnableDomainsAction(tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Enabled Domain",
"Enabled Domains",
count
diff --git a/openstack_dashboard/dashboards/identity/domains/urls.py b/openstack_dashboard/dashboards/identity/domains/urls.py
index 56676a2b0..548991587 100644
--- a/openstack_dashboard/dashboards/identity/domains/urls.py
+++ b/openstack_dashboard/dashboards/identity/domains/urls.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers import views
diff --git a/openstack_dashboard/dashboards/identity/domains/views.py b/openstack_dashboard/dashboards/identity/domains/views.py
index c03b9cc41..3de5ff34a 100644
--- a/openstack_dashboard/dashboards/identity/domains/views.py
+++ b/openstack_dashboard/dashboards/identity/domains/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import messages
diff --git a/openstack_dashboard/dashboards/identity/domains/workflows.py b/openstack_dashboard/dashboards/identity/domains/workflows.py
index 6a13b0f87..9bca61189 100644
--- a/openstack_dashboard/dashboards/identity/domains/workflows.py
+++ b/openstack_dashboard/dashboards/identity/domains/workflows.py
@@ -16,7 +16,7 @@ import logging
from django.conf import settings
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_auth import utils
diff --git a/openstack_dashboard/dashboards/identity/groups/forms.py b/openstack_dashboard/dashboards/identity/groups/forms.py
index f019b1fba..507d673d7 100644
--- a/openstack_dashboard/dashboards/identity/groups/forms.py
+++ b/openstack_dashboard/dashboards/identity/groups/forms.py
@@ -14,7 +14,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/groups/panel.py b/openstack_dashboard/dashboards/identity/groups/panel.py
index 85442e77c..96ca87238 100644
--- a/openstack_dashboard/dashboards/identity/groups/panel.py
+++ b/openstack_dashboard/dashboards/identity/groups/panel.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/groups/tables.py b/openstack_dashboard/dashboards/identity/groups/tables.py
index fd171d4b3..871998469 100644
--- a/openstack_dashboard/dashboards/identity/groups/tables.py
+++ b/openstack_dashboard/dashboards/identity/groups/tables.py
@@ -16,8 +16,8 @@ import logging
from django.template import defaultfilters
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -62,7 +62,7 @@ class EditGroupLink(policy.PolicyTargetMixin, tables.LinkAction):
class DeleteGroupsAction(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Group",
"Delete Groups",
count
@@ -70,7 +70,7 @@ class DeleteGroupsAction(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Group",
"Deleted Groups",
count
@@ -130,7 +130,7 @@ class UserFilterAction(tables.FilterAction):
class RemoveMembers(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Remove User",
"Remove Users",
count
@@ -138,7 +138,7 @@ class RemoveMembers(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Removed User",
"Removed Users",
count
@@ -206,7 +206,7 @@ class GroupMembersTable(UsersTable):
class AddMembers(tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Add User",
"Add Users",
count
@@ -214,7 +214,7 @@ class AddMembers(tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Added User",
"Added Users",
count
diff --git a/openstack_dashboard/dashboards/identity/groups/views.py b/openstack_dashboard/dashboards/identity/groups/views.py
index 91ff36922..551ef8b9c 100644
--- a/openstack_dashboard/dashboards/identity/groups/views.py
+++ b/openstack_dashboard/dashboards/identity/groups/views.py
@@ -14,7 +14,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/forms.py b/openstack_dashboard/dashboards/identity/identity_providers/forms.py
index cb2ef9475..2159bdfe9 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/forms.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/forms.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/panel.py b/openstack_dashboard/dashboards/identity/identity_providers/panel.py
index 339c59629..0a3d3b478 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/panel.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/panel.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/forms.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/forms.py
index 6bb9b673b..0b494cdb6 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/forms.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/forms.py
@@ -14,7 +14,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py
index 9e6a70cbf..6884b795b 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py
@@ -13,8 +13,8 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
from openstack_dashboard import api
@@ -37,7 +37,7 @@ class AddProtocol(policy.PolicyTargetMixin, tables.LinkAction):
class RemoveProtocol(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Protocol",
"Delete Protocols",
count
@@ -45,7 +45,7 @@ class RemoveProtocol(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Protocol",
"Deleted Protocols",
count
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py
index 1a3961b48..c066d3879 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/tables.py b/openstack_dashboard/dashboards/identity/identity_providers/tables.py
index e0e1f4c3e..6df817d8d 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/tables.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/tables.py
@@ -13,8 +13,8 @@
# under the License.
from django.template import defaultfilters as filters
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -50,7 +50,7 @@ class ManageProtocolsLink(tables.LinkAction):
class DeleteIdPsAction(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Unregister Identity Provider",
"Unregister Identity Providers",
count
@@ -58,7 +58,7 @@ class DeleteIdPsAction(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Unregistered Identity Provider",
"Unregistered Identity Providers",
count
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/tabs.py b/openstack_dashboard/dashboards/identity/identity_providers/tabs.py
index e57f7cf7d..44ec52d65 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/tabs.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/views.py b/openstack_dashboard/dashboards/identity/identity_providers/views.py
index e81ec3af7..fefe9e632 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/views.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/views.py
@@ -14,7 +14,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/mappings/forms.py b/openstack_dashboard/dashboards/identity/mappings/forms.py
index 69d23ce4a..dd9fe3396 100644
--- a/openstack_dashboard/dashboards/identity/mappings/forms.py
+++ b/openstack_dashboard/dashboards/identity/mappings/forms.py
@@ -14,7 +14,7 @@
import json
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/mappings/panel.py b/openstack_dashboard/dashboards/identity/mappings/panel.py
index 7399cfd18..3a7d4e209 100644
--- a/openstack_dashboard/dashboards/identity/mappings/panel.py
+++ b/openstack_dashboard/dashboards/identity/mappings/panel.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/mappings/tables.py b/openstack_dashboard/dashboards/identity/mappings/tables.py
index bc9ce2fb9..88068ea46 100644
--- a/openstack_dashboard/dashboards/identity/mappings/tables.py
+++ b/openstack_dashboard/dashboards/identity/mappings/tables.py
@@ -14,8 +14,8 @@
import json
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -43,7 +43,7 @@ class EditMappingLink(tables.LinkAction):
class DeleteMappingsAction(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Mapping",
"Delete Mappings",
count
@@ -51,7 +51,7 @@ class DeleteMappingsAction(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Mapping",
"Deleted Mappings",
count
diff --git a/openstack_dashboard/dashboards/identity/mappings/views.py b/openstack_dashboard/dashboards/identity/mappings/views.py
index af69c2bb2..bb2809e6d 100644
--- a/openstack_dashboard/dashboards/identity/mappings/views.py
+++ b/openstack_dashboard/dashboards/identity/mappings/views.py
@@ -16,7 +16,7 @@ import json
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/projects/groups/tables.py b/openstack_dashboard/dashboards/identity/projects/groups/tables.py
index 962840734..fdbe3c612 100644
--- a/openstack_dashboard/dashboards/identity/projects/groups/tables.py
+++ b/openstack_dashboard/dashboards/identity/projects/groups/tables.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
from horizon import tables
diff --git a/openstack_dashboard/dashboards/identity/projects/panel.py b/openstack_dashboard/dashboards/identity/projects/panel.py
index 26a34f224..21add2727 100644
--- a/openstack_dashboard/dashboards/identity/projects/panel.py
+++ b/openstack_dashboard/dashboards/identity/projects/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/projects/tables.py b/openstack_dashboard/dashboards/identity/projects/tables.py
index 277ed232e..a8d02969f 100644
--- a/openstack_dashboard/dashboards/identity/projects/tables.py
+++ b/openstack_dashboard/dashboards/identity/projects/tables.py
@@ -14,8 +14,8 @@ from django.conf import settings
from django.template import defaultfilters as filters
from django.urls import reverse
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import forms
from horizon import tables
@@ -159,7 +159,7 @@ class ModifyQuotas(tables.LinkAction):
class DeleteTenantsAction(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Project",
"Delete Projects",
count
@@ -167,7 +167,7 @@ class DeleteTenantsAction(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Project",
"Deleted Projects",
count
diff --git a/openstack_dashboard/dashboards/identity/projects/tabs.py b/openstack_dashboard/dashboards/identity/projects/tabs.py
index f4bf69213..5899efd76 100644
--- a/openstack_dashboard/dashboards/identity/projects/tabs.py
+++ b/openstack_dashboard/dashboards/identity/projects/tabs.py
@@ -11,7 +11,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/identity/projects/users/tables.py b/openstack_dashboard/dashboards/identity/projects/users/tables.py
index de38635a1..9dc1b6b28 100644
--- a/openstack_dashboard/dashboards/identity/projects/users/tables.py
+++ b/openstack_dashboard/dashboards/identity/projects/users/tables.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
from horizon import tables
diff --git a/openstack_dashboard/dashboards/identity/projects/views.py b/openstack_dashboard/dashboards/identity/projects/views.py
index 13aee4c90..bfadc0f2a 100644
--- a/openstack_dashboard/dashboards/identity/projects/views.py
+++ b/openstack_dashboard/dashboards/identity/projects/views.py
@@ -18,7 +18,7 @@
from django.conf import settings
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import messages
diff --git a/openstack_dashboard/dashboards/identity/projects/workflows.py b/openstack_dashboard/dashboards/identity/projects/workflows.py
index 61f75bd64..f15c275a2 100644
--- a/openstack_dashboard/dashboards/identity/projects/workflows.py
+++ b/openstack_dashboard/dashboards/identity/projects/workflows.py
@@ -21,7 +21,7 @@ import logging
from django.conf import settings
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_auth import utils
diff --git a/openstack_dashboard/dashboards/identity/roles/forms.py b/openstack_dashboard/dashboards/identity/roles/forms.py
index 099edcd26..95a365fcf 100644
--- a/openstack_dashboard/dashboards/identity/roles/forms.py
+++ b/openstack_dashboard/dashboards/identity/roles/forms.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/roles/panel.py b/openstack_dashboard/dashboards/identity/roles/panel.py
index 98ccdeb0a..f1adffc3b 100644
--- a/openstack_dashboard/dashboards/identity/roles/panel.py
+++ b/openstack_dashboard/dashboards/identity/roles/panel.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/roles/tables.py b/openstack_dashboard/dashboards/identity/roles/tables.py
index 0eb81d4cd..1f21b97fe 100644
--- a/openstack_dashboard/dashboards/identity/roles/tables.py
+++ b/openstack_dashboard/dashboards/identity/roles/tables.py
@@ -12,8 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -47,7 +47,7 @@ class EditRoleLink(tables.LinkAction):
class DeleteRolesAction(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Role",
"Delete Roles",
count
@@ -55,7 +55,7 @@ class DeleteRolesAction(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Role",
"Deleted Roles",
count
diff --git a/openstack_dashboard/dashboards/identity/roles/urls.py b/openstack_dashboard/dashboards/identity/roles/urls.py
index d440a945e..9c8a719bc 100644
--- a/openstack_dashboard/dashboards/identity/roles/urls.py
+++ b/openstack_dashboard/dashboards/identity/roles/urls.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
diff --git a/openstack_dashboard/dashboards/identity/roles/views.py b/openstack_dashboard/dashboards/identity/roles/views.py
index 28a2bda4b..f66ff4612 100644
--- a/openstack_dashboard/dashboards/identity/roles/views.py
+++ b/openstack_dashboard/dashboards/identity/roles/views.py
@@ -14,7 +14,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/users/forms.py b/openstack_dashboard/dashboards/identity/users/forms.py
index 08988c872..dbf3f0450 100644
--- a/openstack_dashboard/dashboards/identity/users/forms.py
+++ b/openstack_dashboard/dashboards/identity/users/forms.py
@@ -23,7 +23,7 @@ import re
from django.conf import settings
from django.forms import ValidationError
from django import http
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.debug import sensitive_variables
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/users/groups/tables.py b/openstack_dashboard/dashboards/identity/users/groups/tables.py
index e83c35557..24462f698 100644
--- a/openstack_dashboard/dashboards/identity/users/groups/tables.py
+++ b/openstack_dashboard/dashboards/identity/users/groups/tables.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.identity.groups \
import tables as groups_tables
diff --git a/openstack_dashboard/dashboards/identity/users/panel.py b/openstack_dashboard/dashboards/identity/users/panel.py
index 0894823ae..a370e0241 100644
--- a/openstack_dashboard/dashboards/identity/users/panel.py
+++ b/openstack_dashboard/dashboards/identity/users/panel.py
@@ -17,7 +17,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/identity/users/role_assignments/tables.py b/openstack_dashboard/dashboards/identity/users/role_assignments/tables.py
index 1b24cf4ef..90b9966b2 100644
--- a/openstack_dashboard/dashboards/identity/users/role_assignments/tables.py
+++ b/openstack_dashboard/dashboards/identity/users/role_assignments/tables.py
@@ -11,7 +11,7 @@
# under the License.
from django import urls
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
from horizon import tables
diff --git a/openstack_dashboard/dashboards/identity/users/tables.py b/openstack_dashboard/dashboards/identity/users/tables.py
index a2b9ba8bd..3e65b5f27 100644
--- a/openstack_dashboard/dashboards/identity/users/tables.py
+++ b/openstack_dashboard/dashboards/identity/users/tables.py
@@ -11,8 +11,8 @@
# under the License.
from django.template import defaultfilters
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import forms
from horizon import tables
@@ -75,12 +75,12 @@ class ToggleEnabled(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Enable User",
"Enable Users",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Disable User",
"Disable Users",
count
@@ -90,12 +90,12 @@ class ToggleEnabled(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Enabled User",
"Enabled Users",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Disabled User",
"Disabled Users",
count
@@ -133,7 +133,7 @@ class ToggleEnabled(policy.PolicyTargetMixin, tables.BatchAction):
class DeleteUsersAction(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete User",
"Delete Users",
count
@@ -141,7 +141,7 @@ class DeleteUsersAction(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted User",
"Deleted Users",
count
diff --git a/openstack_dashboard/dashboards/identity/users/tabs.py b/openstack_dashboard/dashboards/identity/users/tabs.py
index 55986ed19..4bfca8752 100644
--- a/openstack_dashboard/dashboards/identity/users/tabs.py
+++ b/openstack_dashboard/dashboards/identity/users/tabs.py
@@ -13,7 +13,7 @@
import logging
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/identity/users/urls.py b/openstack_dashboard/dashboards/identity/users/urls.py
index 724b16b3c..82f5f166a 100644
--- a/openstack_dashboard/dashboards/identity/users/urls.py
+++ b/openstack_dashboard/dashboards/identity/users/urls.py
@@ -17,7 +17,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
from openstack_dashboard.dashboards.identity.users import views
diff --git a/openstack_dashboard/dashboards/identity/users/views.py b/openstack_dashboard/dashboards/identity/users/views.py
index 298d64d4a..9e02fee3a 100644
--- a/openstack_dashboard/dashboards/identity/users/views.py
+++ b/openstack_dashboard/dashboards/identity/users/views.py
@@ -23,7 +23,7 @@ from django.conf import settings
from django.urls import reverse
from django.urls import reverse_lazy
from django.utils.decorators import method_decorator
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.debug import sensitive_post_parameters
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/api_access/forms.py b/openstack_dashboard/dashboards/project/api_access/forms.py
index 39f2921fc..9caf3d974 100644
--- a/openstack_dashboard/dashboards/project/api_access/forms.py
+++ b/openstack_dashboard/dashboards/project/api_access/forms.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/api_access/panel.py b/openstack_dashboard/dashboards/project/api_access/panel.py
index 947c19b7e..e5745abc2 100644
--- a/openstack_dashboard/dashboards/project/api_access/panel.py
+++ b/openstack_dashboard/dashboards/project/api_access/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/api_access/tables.py b/openstack_dashboard/dashboards/project/api_access/tables.py
index d84c1a291..d826f9a06 100644
--- a/openstack_dashboard/dashboards/project/api_access/tables.py
+++ b/openstack_dashboard/dashboards/project/api_access/tables.py
@@ -14,7 +14,7 @@
from django.conf import settings
from django.template.defaultfilters import title
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tables
from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/project/api_access/views.py b/openstack_dashboard/dashboards/project/api_access/views.py
index b4c236e52..4622fba16 100644
--- a/openstack_dashboard/dashboards/project/api_access/views.py
+++ b/openstack_dashboard/dashboards/project/api_access/views.py
@@ -22,7 +22,7 @@ from django import http
from django import shortcuts
from django.template.loader import render_to_string
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/backups/forms.py b/openstack_dashboard/dashboards/project/backups/forms.py
index 14cdeb2b4..9a97e9a0c 100644
--- a/openstack_dashboard/dashboards/project/backups/forms.py
+++ b/openstack_dashboard/dashboards/project/backups/forms.py
@@ -18,7 +18,7 @@ Views for managing backups.
import operator
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/backups/panel.py b/openstack_dashboard/dashboards/project/backups/panel.py
index c4392088b..9ab64e88a 100644
--- a/openstack_dashboard/dashboards/project/backups/panel.py
+++ b/openstack_dashboard/dashboards/project/backups/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/project/backups/tables.py b/openstack_dashboard/dashboards/project/backups/tables.py
index 5d88f173c..4cbf34ef8 100644
--- a/openstack_dashboard/dashboards/project/backups/tables.py
+++ b/openstack_dashboard/dashboards/project/backups/tables.py
@@ -14,9 +14,9 @@ from django.urls import reverse
from django.utils import html
from django.utils import http
from django.utils import safestring
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import tables
@@ -70,7 +70,7 @@ class DeleteBackup(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Volume Backup",
"Delete Volume Backups",
count
@@ -78,7 +78,7 @@ class DeleteBackup(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Scheduled deletion of Volume Backup",
"Scheduled deletion of Volume Backups",
count
diff --git a/openstack_dashboard/dashboards/project/backups/tabs.py b/openstack_dashboard/dashboards/project/backups/tabs.py
index 8c5a4eb9d..d867af485 100644
--- a/openstack_dashboard/dashboards/project/backups/tabs.py
+++ b/openstack_dashboard/dashboards/project/backups/tabs.py
@@ -12,7 +12,7 @@
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/backups/views.py b/openstack_dashboard/dashboards/project/backups/views.py
index 6d7139093..b268de43a 100644
--- a/openstack_dashboard/dashboards/project/backups/views.py
+++ b/openstack_dashboard/dashboards/project/backups/views.py
@@ -14,7 +14,7 @@ import logging
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/containers/panel.py b/openstack_dashboard/dashboards/project/containers/panel.py
index d71d2435e..0df099b96 100644
--- a/openstack_dashboard/dashboards/project/containers/panel.py
+++ b/openstack_dashboard/dashboards/project/containers/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/containers/utils.py b/openstack_dashboard/dashboards/project/containers/utils.py
index 6c83401ef..a3427823d 100644
--- a/openstack_dashboard/dashboards/project/containers/utils.py
+++ b/openstack_dashboard/dashboards/project/containers/utils.py
@@ -11,7 +11,7 @@
# under the License.
from django.core import validators
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
no_slash_validator = validators.RegexValidator(r'^(?u)[^/]+$',
diff --git a/openstack_dashboard/dashboards/project/dashboard.py b/openstack_dashboard/dashboards/project/dashboard.py
index ff131fe9b..486962ebb 100644
--- a/openstack_dashboard/dashboards/project/dashboard.py
+++ b/openstack_dashboard/dashboards/project/dashboard.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/floating_ips/forms.py b/openstack_dashboard/dashboards/project/floating_ips/forms.py
index 5878ec09c..78f270d71 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/forms.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/forms.py
@@ -17,7 +17,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/floating_ips/panel.py b/openstack_dashboard/dashboards/project/floating_ips/panel.py
index 9af9abc1b..1adde7105 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/panel.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/floating_ips/tables.py b/openstack_dashboard/dashboards/project/floating_ips/tables.py
index f28d2792e..1fa3d579e 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/tables.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/tables.py
@@ -19,9 +19,9 @@ from django import shortcuts
from django.urls import reverse
from django.utils.http import urlencode
from django.utils.text import format_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import exceptions
from horizon import messages
@@ -74,7 +74,7 @@ class ReleaseIPs(tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Release Floating IP",
"Release Floating IPs",
count
@@ -82,7 +82,7 @@ class ReleaseIPs(tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Released Floating IP",
"Released Floating IPs",
count
diff --git a/openstack_dashboard/dashboards/project/floating_ips/views.py b/openstack_dashboard/dashboards/project/floating_ips/views.py
index 9b809dd04..879d4c5b5 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/views.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/views.py
@@ -22,7 +22,7 @@ Views for managing floating IPs.
"""
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from neutronclient.common import exceptions as neutron_exc
diff --git a/openstack_dashboard/dashboards/project/floating_ips/workflows.py b/openstack_dashboard/dashboards/project/floating_ips/workflows.py
index 5f3ac9825..5defa54d1 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/workflows.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/workflows.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from neutronclient.common import exceptions as neutron_exc
diff --git a/openstack_dashboard/dashboards/project/images/images/forms.py b/openstack_dashboard/dashboards/project/images/images/forms.py
index f228e3155..4a043a5ee 100644
--- a/openstack_dashboard/dashboards/project/images/images/forms.py
+++ b/openstack_dashboard/dashboards/project/images/images/forms.py
@@ -25,7 +25,7 @@ from django.core import validators
from django.forms import ValidationError
from django.forms.widgets import HiddenInput
from django.template import defaultfilters
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/images/images/tables.py b/openstack_dashboard/dashboards/project/images/images/tables.py
index c2c9022b0..954197399 100644
--- a/openstack_dashboard/dashboards/project/images/images/tables.py
+++ b/openstack_dashboard/dashboards/project/images/images/tables.py
@@ -19,9 +19,9 @@ from django.conf import settings
from django.template import defaultfilters as filters
from django.urls import reverse
from django.utils.http import urlencode
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import tables
@@ -89,7 +89,7 @@ class DeleteImage(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Image",
"Delete Images",
count
@@ -97,7 +97,7 @@ class DeleteImage(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Image",
"Deleted Images",
count
diff --git a/openstack_dashboard/dashboards/project/images/images/tabs.py b/openstack_dashboard/dashboards/project/images/images/tabs.py
index 1dbd9682d..06553192f 100644
--- a/openstack_dashboard/dashboards/project/images/images/tabs.py
+++ b/openstack_dashboard/dashboards/project/images/images/tabs.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/images/images/urls.py b/openstack_dashboard/dashboards/project/images/images/urls.py
index f79f7f4f5..4a3685296 100644
--- a/openstack_dashboard/dashboards/project/images/images/urls.py
+++ b/openstack_dashboard/dashboards/project/images/images/urls.py
@@ -17,7 +17,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
from openstack_dashboard.dashboards.project.images.images import views
diff --git a/openstack_dashboard/dashboards/project/images/images/views.py b/openstack_dashboard/dashboards/project/images/images/views.py
index 230d69dd8..58908c17b 100644
--- a/openstack_dashboard/dashboards/project/images/images/views.py
+++ b/openstack_dashboard/dashboards/project/images/images/views.py
@@ -22,7 +22,7 @@ Views for managing images.
from django.conf import settings
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/images/panel.py b/openstack_dashboard/dashboards/project/images/panel.py
index e9dd223eb..1360cfd9d 100644
--- a/openstack_dashboard/dashboards/project/images/panel.py
+++ b/openstack_dashboard/dashboards/project/images/panel.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/images/snapshots/forms.py b/openstack_dashboard/dashboards/project/images/snapshots/forms.py
index c425f928a..9036cbdd1 100644
--- a/openstack_dashboard/dashboards/project/images/snapshots/forms.py
+++ b/openstack_dashboard/dashboards/project/images/snapshots/forms.py
@@ -17,7 +17,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from novaclient import exceptions as nova_exceptions
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/images/snapshots/views.py b/openstack_dashboard/dashboards/project/images/snapshots/views.py
index 168ab9cb8..ba95a27a7 100644
--- a/openstack_dashboard/dashboards/project/images/snapshots/views.py
+++ b/openstack_dashboard/dashboards/project/images/snapshots/views.py
@@ -21,7 +21,7 @@ Views for managing instance snapshots.
"""
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/images/urls.py b/openstack_dashboard/dashboards/project/images/urls.py
index fc24b9048..8b0e30004 100644
--- a/openstack_dashboard/dashboards/project/images/urls.py
+++ b/openstack_dashboard/dashboards/project/images/urls.py
@@ -18,7 +18,7 @@
from django.conf.urls import include
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
from openstack_dashboard.dashboards.project.images.images \
diff --git a/openstack_dashboard/dashboards/project/images/utils.py b/openstack_dashboard/dashboards/project/images/utils.py
index f130a0e24..edc68ba5f 100644
--- a/openstack_dashboard/dashboards/project/images/utils.py
+++ b/openstack_dashboard/dashboards/project/images/utils.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/images/views.py b/openstack_dashboard/dashboards/project/images/views.py
index 79bfde531..a241caa56 100644
--- a/openstack_dashboard/dashboards/project/images/views.py
+++ b/openstack_dashboard/dashboards/project/images/views.py
@@ -21,7 +21,7 @@
Views for managing Images and Snapshots.
"""
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import messages
diff --git a/openstack_dashboard/dashboards/project/instances/audit_tables.py b/openstack_dashboard/dashboards/project/instances/audit_tables.py
index 9d7b99210..6adf337ea 100644
--- a/openstack_dashboard/dashboards/project/instances/audit_tables.py
+++ b/openstack_dashboard/dashboards/project/instances/audit_tables.py
@@ -13,8 +13,8 @@
# under the License.
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from horizon import tables
from horizon.utils import filters
diff --git a/openstack_dashboard/dashboards/project/instances/console.py b/openstack_dashboard/dashboards/project/instances/console.py
index 3ecc603bd..f48db58ed 100644
--- a/openstack_dashboard/dashboards/project/instances/console.py
+++ b/openstack_dashboard/dashboards/project/instances/console.py
@@ -15,7 +15,7 @@ from collections import OrderedDict
import logging
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from novaclient import exceptions as nova_exception
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/instances/forms.py b/openstack_dashboard/dashboards/project/instances/forms.py
index efc8a719f..e45ecddfa 100644
--- a/openstack_dashboard/dashboards/project/instances/forms.py
+++ b/openstack_dashboard/dashboards/project/instances/forms.py
@@ -16,7 +16,7 @@
from django.template.defaultfilters import filesizeformat
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.debug import sensitive_variables
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/instances/interfaces_tables.py b/openstack_dashboard/dashboards/project/instances/interfaces_tables.py
index 902a2c747..ffe8659b6 100644
--- a/openstack_dashboard/dashboards/project/instances/interfaces_tables.py
+++ b/openstack_dashboard/dashboards/project/instances/interfaces_tables.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tables
diff --git a/openstack_dashboard/dashboards/project/instances/panel.py b/openstack_dashboard/dashboards/project/instances/panel.py
index 085b9e99d..cc666574a 100644
--- a/openstack_dashboard/dashboards/project/instances/panel.py
+++ b/openstack_dashboard/dashboards/project/instances/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/instances/tables.py b/openstack_dashboard/dashboards/project/instances/tables.py
index 4351e1c51..2f9aa73bb 100644
--- a/openstack_dashboard/dashboards/project/instances/tables.py
+++ b/openstack_dashboard/dashboards/project/instances/tables.py
@@ -24,10 +24,10 @@ from django import urls
from django.utils.http import urlencode
from django.utils.safestring import mark_safe
from django.utils.text import format_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import npgettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
import netaddr
from horizon import exceptions
@@ -88,7 +88,7 @@ class DeleteInstance(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Instance",
"Delete Instances",
count
@@ -96,7 +96,7 @@ class DeleteInstance(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Scheduled deletion of Instance",
"Scheduled deletion of Instances",
count
@@ -122,7 +122,7 @@ class RebootInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Hard Reboot Instance",
"Hard Reboot Instances",
count
@@ -130,7 +130,7 @@ class RebootInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Hard Rebooted Instance",
"Hard Rebooted Instances",
count
@@ -152,7 +152,7 @@ class SoftRebootInstance(RebootInstance):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Soft Reboot Instance",
"Soft Reboot Instances",
count
@@ -160,7 +160,7 @@ class SoftRebootInstance(RebootInstance):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Soft Rebooted Instance",
"Soft Rebooted Instances",
count
@@ -196,7 +196,7 @@ class UnRescueInstance(tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Unrescue Instance",
"Unrescue Instances",
count
@@ -204,7 +204,7 @@ class UnRescueInstance(tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Unrescued Instance",
"Unrescued Instances",
count
@@ -226,12 +226,12 @@ class TogglePause(tables.BatchAction):
@staticmethod
def action_present(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Pause Instance",
"Pause Instances",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Resume Instance",
"Resume Instances",
count
@@ -241,12 +241,12 @@ class TogglePause(tables.BatchAction):
@staticmethod
def action_past(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Paused Instance",
"Paused Instances",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Resumed Instance",
"Resumed Instances",
count
@@ -290,12 +290,12 @@ class ToggleSuspend(tables.BatchAction):
@staticmethod
def action_present(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Suspend Instance",
"Suspend Instances",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Resume Instance",
"Resume Instances",
count
@@ -305,12 +305,12 @@ class ToggleSuspend(tables.BatchAction):
@staticmethod
def action_past(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Suspended Instance",
"Suspended Instances",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Resumed Instance",
"Resumed Instances",
count
@@ -354,12 +354,12 @@ class ToggleShelve(tables.BatchAction):
@staticmethod
def action_present(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Shelve Instance",
"Shelve Instances",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Unshelve Instance",
"Unshelve Instances",
count
@@ -369,12 +369,12 @@ class ToggleShelve(tables.BatchAction):
@staticmethod
def action_past(count):
return (
- ungettext_lazy(
+ ngettext_lazy(
"Shelved Instance",
"Shelved Instances",
count
),
- ungettext_lazy(
+ ngettext_lazy(
"Unshelved Instance",
"Unshelved Instances",
count
@@ -809,7 +809,7 @@ class StartInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Start Instance",
"Start Instances",
count
@@ -817,7 +817,7 @@ class StartInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Started Instance",
"Started Instances",
count
@@ -870,7 +870,7 @@ class LockInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Lock Instance",
"Lock Instances",
count
@@ -878,7 +878,7 @@ class LockInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Locked Instance",
"Locked Instances",
count
@@ -902,7 +902,7 @@ class UnlockInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Unlock Instance",
"Unlock Instances",
count
@@ -910,7 +910,7 @@ class UnlockInstance(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Unlocked Instance",
"Unlocked Instances",
count
diff --git a/openstack_dashboard/dashboards/project/instances/tabs.py b/openstack_dashboard/dashboards/project/instances/tabs.py
index 46b720351..d797af08f 100644
--- a/openstack_dashboard/dashboards/project/instances/tabs.py
+++ b/openstack_dashboard/dashboards/project/instances/tabs.py
@@ -14,7 +14,7 @@
from django.conf import settings
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/instances/utils.py b/openstack_dashboard/dashboards/project/instances/utils.py
index 11bd5dc68..c5a4af314 100644
--- a/openstack_dashboard/dashboards/project/instances/utils.py
+++ b/openstack_dashboard/dashboards/project/instances/utils.py
@@ -14,7 +14,7 @@ import logging
from operator import itemgetter
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/instances/views.py b/openstack_dashboard/dashboards/project/instances/views.py
index ee8b1636c..a36edb325 100644
--- a/openstack_dashboard/dashboards/project/instances/views.py
+++ b/openstack_dashboard/dashboards/project/instances/views.py
@@ -27,7 +27,7 @@ from django import http
from django import shortcuts
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views import generic
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/instances/workflows/resize_instance.py b/openstack_dashboard/dashboards/project/instances/workflows/resize_instance.py
index d5151002f..7da2c0d5a 100644
--- a/openstack_dashboard/dashboards/project/instances/workflows/resize_instance.py
+++ b/openstack_dashboard/dashboards/project/instances/workflows/resize_instance.py
@@ -16,7 +16,7 @@
import json
from django.utils import encoding
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.debug import sensitive_variables
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/instances/workflows/update_instance.py b/openstack_dashboard/dashboards/project/instances/workflows/update_instance.py
index c0eec5129..4e0663541 100644
--- a/openstack_dashboard/dashboards/project/instances/workflows/update_instance.py
+++ b/openstack_dashboard/dashboards/project/instances/workflows/update_instance.py
@@ -17,7 +17,7 @@
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/key_pairs/forms.py b/openstack_dashboard/dashboards/project/key_pairs/forms.py
index 0bbb8bbf9..9c93da0a3 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/forms.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/forms.py
@@ -18,7 +18,7 @@
import re
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/key_pairs/panel.py b/openstack_dashboard/dashboards/project/key_pairs/panel.py
index a0f9da241..de362dd55 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/panel.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/key_pairs/tables.py b/openstack_dashboard/dashboards/project/key_pairs/tables.py
index 86a71571a..20bcd4420 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/tables.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/tables.py
@@ -16,8 +16,8 @@ from urllib import parse
from django import urls
from django.utils.text import format_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -33,7 +33,7 @@ class DeleteKeyPairs(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Key Pair",
"Delete Key Pairs",
count
@@ -41,7 +41,7 @@ class DeleteKeyPairs(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Key Pair",
"Deleted Key Pairs",
count
diff --git a/openstack_dashboard/dashboards/project/key_pairs/urls.py b/openstack_dashboard/dashboards/project/key_pairs/urls.py
index 81fd4378d..139f2ffb9 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/urls.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/urls.py
@@ -17,7 +17,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers import views
from openstack_dashboard.dashboards.project.key_pairs import views as \
diff --git a/openstack_dashboard/dashboards/project/key_pairs/views.py b/openstack_dashboard/dashboards/project/key_pairs/views.py
index 69a2ddb13..cacf46710 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/views.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/views.py
@@ -14,7 +14,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/network_qos/panel.py b/openstack_dashboard/dashboards/project/network_qos/panel.py
index e49e29db5..060531ef1 100644
--- a/openstack_dashboard/dashboards/project/network_qos/panel.py
+++ b/openstack_dashboard/dashboards/project/network_qos/panel.py
@@ -12,7 +12,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/network_qos/urls.py b/openstack_dashboard/dashboards/project/network_qos/urls.py
index 96b6ceda8..0937bafd6 100644
--- a/openstack_dashboard/dashboards/project/network_qos/urls.py
+++ b/openstack_dashboard/dashboards/project/network_qos/urls.py
@@ -11,7 +11,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers import views
diff --git a/openstack_dashboard/dashboards/project/network_topology/instances/tables.py b/openstack_dashboard/dashboards/project/network_topology/instances/tables.py
index 865a1bbd9..fec33f385 100644
--- a/openstack_dashboard/dashboards/project/network_topology/instances/tables.py
+++ b/openstack_dashboard/dashboards/project/network_topology/instances/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.project.instances import tables
diff --git a/openstack_dashboard/dashboards/project/network_topology/networks/tables.py b/openstack_dashboard/dashboards/project/network_topology/networks/tables.py
index a14c089e6..7690570d4 100644
--- a/openstack_dashboard/dashboards/project/network_topology/networks/tables.py
+++ b/openstack_dashboard/dashboards/project/network_topology/networks/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.project.networks import tables
diff --git a/openstack_dashboard/dashboards/project/network_topology/panel.py b/openstack_dashboard/dashboards/project/network_topology/panel.py
index 593530dd4..6dc54fd5a 100644
--- a/openstack_dashboard/dashboards/project/network_topology/panel.py
+++ b/openstack_dashboard/dashboards/project/network_topology/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/network_topology/ports/tables.py b/openstack_dashboard/dashboards/project/network_topology/ports/tables.py
index aeba30d70..fcd7932b8 100644
--- a/openstack_dashboard/dashboards/project/network_topology/ports/tables.py
+++ b/openstack_dashboard/dashboards/project/network_topology/ports/tables.py
@@ -13,7 +13,7 @@
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.project.routers.ports import tables
diff --git a/openstack_dashboard/dashboards/project/network_topology/routers/tables.py b/openstack_dashboard/dashboards/project/network_topology/routers/tables.py
index 60b433fdd..769e1f5a1 100644
--- a/openstack_dashboard/dashboards/project/network_topology/routers/tables.py
+++ b/openstack_dashboard/dashboards/project/network_topology/routers/tables.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.project.routers import tables
diff --git a/openstack_dashboard/dashboards/project/network_topology/subnets/tables.py b/openstack_dashboard/dashboards/project/network_topology/subnets/tables.py
index b1f3b0656..af547266d 100644
--- a/openstack_dashboard/dashboards/project/network_topology/subnets/tables.py
+++ b/openstack_dashboard/dashboards/project/network_topology/subnets/tables.py
@@ -13,7 +13,7 @@
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard.dashboards.project.networks.subnets import tables
diff --git a/openstack_dashboard/dashboards/project/network_topology/tabs.py b/openstack_dashboard/dashboards/project/network_topology/tabs.py
index f995950bf..1c62b357d 100644
--- a/openstack_dashboard/dashboards/project/network_topology/tabs.py
+++ b/openstack_dashboard/dashboards/project/network_topology/tabs.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/network_topology/views.py b/openstack_dashboard/dashboards/project/network_topology/views.py
index 0ea922f5d..3808877ca 100644
--- a/openstack_dashboard/dashboards/project/network_topology/views.py
+++ b/openstack_dashboard/dashboards/project/network_topology/views.py
@@ -22,7 +22,7 @@ from django.conf import settings
from django.http import HttpResponse
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.generic import View
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/forms.py b/openstack_dashboard/dashboards/project/networks/forms.py
index 0c6195bef..67194aee9 100644
--- a/openstack_dashboard/dashboards/project/networks/forms.py
+++ b/openstack_dashboard/dashboards/project/networks/forms.py
@@ -19,7 +19,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/panel.py b/openstack_dashboard/dashboards/project/networks/panel.py
index 43976ec1d..902dd6ac4 100644
--- a/openstack_dashboard/dashboards/project/networks/panel.py
+++ b/openstack_dashboard/dashboards/project/networks/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py
index 306f09739..47d268ba7 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py
@@ -16,7 +16,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py
index 6f0502cec..85ed3ee9b 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py
@@ -16,8 +16,8 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -55,7 +55,7 @@ class AddAllowedAddressPair(policy.PolicyTargetMixin, tables.LinkAction):
class DeleteAllowedAddressPair(tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete",
"Delete",
count
@@ -63,7 +63,7 @@ class DeleteAllowedAddressPair(tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted address pair",
"Deleted address pairs",
count
diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tabs.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tabs.py
index 1114b5cf0..b5ecb5ff7 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tabs.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tabs.py
@@ -15,7 +15,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py
index a96bb89dd..da731c06d 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py
@@ -14,7 +14,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/ports/sg_base.py b/openstack_dashboard/dashboards/project/networks/ports/sg_base.py
index 23d78befa..dcd25d140 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/sg_base.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/sg_base.py
@@ -12,7 +12,7 @@
import abc
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/ports/tables.py b/openstack_dashboard/dashboards/project/networks/ports/tables.py
index f172f1c07..c7a6c9adc 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/tables.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/tables.py
@@ -17,9 +17,9 @@ import logging
from django import template
from django.urls import reverse
from django.utils.http import urlencode
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import tables
@@ -106,7 +106,7 @@ class CreatePort(tables.LinkAction):
class DeletePort(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Port",
"Delete Ports",
count
@@ -114,7 +114,7 @@ class DeletePort(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Port",
"Deleted Ports",
count
diff --git a/openstack_dashboard/dashboards/project/networks/ports/tabs.py b/openstack_dashboard/dashboards/project/networks/ports/tabs.py
index 7f2e94664..a4cbe5c78 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/tabs.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/networks/ports/views.py b/openstack_dashboard/dashboards/project/networks/ports/views.py
index eb67a9359..25712767f 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/views.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/networks/ports/workflows.py b/openstack_dashboard/dashboards/project/networks/ports/workflows.py
index 8638d60ff..1300946e9 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/workflows.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/workflows.py
@@ -16,7 +16,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/tables.py b/openstack_dashboard/dashboards/project/networks/subnets/tables.py
index d0be38141..c99aeba4b 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/tables.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/tables.py
@@ -18,8 +18,8 @@ from neutronclient.common import exceptions as neutron_exceptions
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import exceptions
from horizon import tables
@@ -59,7 +59,7 @@ class SubnetPolicyTargetMixin(policy.PolicyTargetMixin):
class DeleteSubnet(SubnetPolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Subnet",
"Delete Subnets",
count
@@ -67,7 +67,7 @@ class DeleteSubnet(SubnetPolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Subnet",
"Deleted Subnets",
count
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/tabs.py b/openstack_dashboard/dashboards/project/networks/subnets/tabs.py
index 78d098a91..39c126d89 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/tabs.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/utils.py b/openstack_dashboard/dashboards/project/networks/subnets/utils.py
index a30117501..a9a1a7060 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/utils.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/utils.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
IPV6_DEFAULT_MODE = 'none/none'
IPV6_MODE_CHOICES = [
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/views.py b/openstack_dashboard/dashboards/project/networks/subnets/views.py
index e28a0904a..3ada8429e 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/views.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/views.py
@@ -16,7 +16,7 @@
Views for managing Neutron Subnets.
"""
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/workflows.py b/openstack_dashboard/dashboards/project/networks/subnets/workflows.py
index ca039fa08..0d75ed9b8 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/workflows.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/workflows.py
@@ -15,7 +15,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/tables.py b/openstack_dashboard/dashboards/project/networks/tables.py
index cdf63e8a4..db0b86c0a 100644
--- a/openstack_dashboard/dashboards/project/networks/tables.py
+++ b/openstack_dashboard/dashboards/project/networks/tables.py
@@ -16,9 +16,9 @@ import logging
from django import template
from django.template import defaultfilters as filters
from django.urls import reverse
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from neutronclient.common import exceptions as neutron_exceptions
from horizon import exceptions
@@ -38,7 +38,7 @@ LOG = logging.getLogger(__name__)
class DeleteNetwork(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Network",
"Delete Networks",
count
@@ -46,7 +46,7 @@ class DeleteNetwork(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Network",
"Deleted Networks",
count
diff --git a/openstack_dashboard/dashboards/project/networks/tabs.py b/openstack_dashboard/dashboards/project/networks/tabs.py
index abe5371c3..94b50af01 100644
--- a/openstack_dashboard/dashboards/project/networks/tabs.py
+++ b/openstack_dashboard/dashboards/project/networks/tabs.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/networks/views.py b/openstack_dashboard/dashboards/project/networks/views.py
index fde0fbc9a..aaaf63ba1 100644
--- a/openstack_dashboard/dashboards/project/networks/views.py
+++ b/openstack_dashboard/dashboards/project/networks/views.py
@@ -17,7 +17,7 @@ Views for managing Neutron Networks.
"""
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/workflows.py b/openstack_dashboard/dashboards/project/networks/workflows.py
index 5d0e7ad2e..dbbeda55f 100644
--- a/openstack_dashboard/dashboards/project/networks/workflows.py
+++ b/openstack_dashboard/dashboards/project/networks/workflows.py
@@ -17,7 +17,7 @@ import logging
from django.conf import settings
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import netaddr
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/overview/panel.py b/openstack_dashboard/dashboards/project/overview/panel.py
index d3735c25d..002a7b019 100644
--- a/openstack_dashboard/dashboards/project/overview/panel.py
+++ b/openstack_dashboard/dashboards/project/overview/panel.py
@@ -16,7 +16,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/overview/views.py b/openstack_dashboard/dashboards/project/overview/views.py
index daf33ebb9..8fe483ffa 100644
--- a/openstack_dashboard/dashboards/project/overview/views.py
+++ b/openstack_dashboard/dashboards/project/overview/views.py
@@ -19,7 +19,7 @@
from django.template.defaultfilters import capfirst
from django.template.defaultfilters import floatformat
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.utils import csvbase
from horizon import views
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
index f6fdd0679..d48a61b37 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
@@ -16,7 +16,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from neutronclient.common import exceptions as neutron_exc
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py
index 77d32aed0..dcb8511c9 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py
@@ -14,8 +14,8 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from openstack_dashboard.api import neutron as api
from openstack_dashboard import policy
@@ -39,7 +39,7 @@ class AddRouterRoute(policy.PolicyTargetMixin, tables.LinkAction):
class RemoveRouterRoute(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Static Route",
"Delete Static Routes",
count
@@ -47,7 +47,7 @@ class RemoveRouterRoute(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Static Route",
"Deleted Static Routes",
count
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tabs.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tabs.py
index d1b17fbcf..8ef455c04 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tabs.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tabs.py
@@ -15,7 +15,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py
index 1ad56e23f..930386754 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py
@@ -14,7 +14,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/routers/forms.py b/openstack_dashboard/dashboards/project/routers/forms.py
index a659adfbf..992e48a3f 100644
--- a/openstack_dashboard/dashboards/project/routers/forms.py
+++ b/openstack_dashboard/dashboards/project/routers/forms.py
@@ -20,7 +20,7 @@ import logging
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/routers/panel.py b/openstack_dashboard/dashboards/project/routers/panel.py
index 290f1913c..1da6df14a 100644
--- a/openstack_dashboard/dashboards/project/routers/panel.py
+++ b/openstack_dashboard/dashboards/project/routers/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/routers/ports/forms.py b/openstack_dashboard/dashboards/project/routers/ports/forms.py
index 417a44a5a..6b26572cb 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/forms.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/forms.py
@@ -15,7 +15,7 @@
import logging
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/routers/ports/tables.py b/openstack_dashboard/dashboards/project/routers/ports/tables.py
index d07bf7976..6cc7cdd75 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/tables.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/tables.py
@@ -15,9 +15,9 @@
import logging
from django.urls import reverse
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import tables
from openstack_dashboard import api
@@ -52,7 +52,7 @@ class AddInterface(policy.PolicyTargetMixin, tables.LinkAction):
class RemoveInterface(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Interface",
"Delete Interfaces",
count
@@ -60,7 +60,7 @@ class RemoveInterface(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Interface",
"Deleted Interfaces",
count
diff --git a/openstack_dashboard/dashboards/project/routers/ports/tabs.py b/openstack_dashboard/dashboards/project/routers/ports/tabs.py
index d4aea2ac4..b769ef20d 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/tabs.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/tabs.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/routers/ports/views.py b/openstack_dashboard/dashboards/project/routers/ports/views.py
index 3b8480587..20cb46925 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/views.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/routers/tables.py b/openstack_dashboard/dashboards/project/routers/tables.py
index 32631b5c1..0908243f9 100644
--- a/openstack_dashboard/dashboards/project/routers/tables.py
+++ b/openstack_dashboard/dashboards/project/routers/tables.py
@@ -16,9 +16,9 @@ import logging
from django.template import defaultfilters as filters
from django.urls import reverse
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from neutronclient.common import exceptions as neutron_exceptions
from horizon import exceptions
@@ -36,7 +36,7 @@ LOG = logging.getLogger(__name__)
class DeleteRouter(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Router",
"Delete Routers",
count
@@ -44,7 +44,7 @@ class DeleteRouter(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Router",
"Deleted Routers",
count
@@ -127,7 +127,7 @@ class ClearGateway(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Clear Gateway",
"Clear Gateways",
count
@@ -135,7 +135,7 @@ class ClearGateway(policy.PolicyTargetMixin, tables.BatchAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Cleared Gateway",
"Cleared Gateways",
count
diff --git a/openstack_dashboard/dashboards/project/routers/tabs.py b/openstack_dashboard/dashboards/project/routers/tabs.py
index 3ef73db87..581256f5b 100644
--- a/openstack_dashboard/dashboards/project/routers/tabs.py
+++ b/openstack_dashboard/dashboards/project/routers/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/routers/views.py b/openstack_dashboard/dashboards/project/routers/views.py
index 946ea3774..0cad98a42 100644
--- a/openstack_dashboard/dashboards/project/routers/views.py
+++ b/openstack_dashboard/dashboards/project/routers/views.py
@@ -21,8 +21,8 @@ from collections import OrderedDict
from django.urls import reverse
from django.urls import reverse_lazy
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/security_groups/forms.py b/openstack_dashboard/dashboards/project/security_groups/forms.py
index 471a99e95..94e951a56 100644
--- a/openstack_dashboard/dashboards/project/security_groups/forms.py
+++ b/openstack_dashboard/dashboards/project/security_groups/forms.py
@@ -21,7 +21,7 @@ import netaddr
from django.conf import settings
from django.forms import ValidationError
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/security_groups/panel.py b/openstack_dashboard/dashboards/project/security_groups/panel.py
index b8378841e..8235ee999 100644
--- a/openstack_dashboard/dashboards/project/security_groups/panel.py
+++ b/openstack_dashboard/dashboards/project/security_groups/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/security_groups/tables.py b/openstack_dashboard/dashboards/project/security_groups/tables.py
index 90177503d..5e3816cab 100644
--- a/openstack_dashboard/dashboards/project/security_groups/tables.py
+++ b/openstack_dashboard/dashboards/project/security_groups/tables.py
@@ -17,8 +17,8 @@ import functools
from django.conf import settings
from django.template import defaultfilters
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import exceptions
from horizon import tables
@@ -34,7 +34,7 @@ class DeleteGroup(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Security Group",
"Delete Security Groups",
count
@@ -42,7 +42,7 @@ class DeleteGroup(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Security Group",
"Deleted Security Groups",
count
@@ -170,7 +170,7 @@ class DeleteRule(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Rule",
"Delete Rules",
count
@@ -178,7 +178,7 @@ class DeleteRule(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Deleted Rule",
"Deleted Rules",
count
diff --git a/openstack_dashboard/dashboards/project/security_groups/views.py b/openstack_dashboard/dashboards/project/security_groups/views.py
index aaa84ed8b..f7dd4aa09 100644
--- a/openstack_dashboard/dashboards/project/security_groups/views.py
+++ b/openstack_dashboard/dashboards/project/security_groups/views.py
@@ -21,7 +21,7 @@ Views for managing instances.
"""
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from neutronclient.common import exceptions as neutron_exc
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/server_groups/panel.py b/openstack_dashboard/dashboards/project/server_groups/panel.py
index 9039fc23a..1c9d0b177 100644
--- a/openstack_dashboard/dashboards/project/server_groups/panel.py
+++ b/openstack_dashboard/dashboards/project/server_groups/panel.py
@@ -12,7 +12,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/server_groups/urls.py b/openstack_dashboard/dashboards/project/server_groups/urls.py
index 27e06913c..fb489abec 100644
--- a/openstack_dashboard/dashboards/project/server_groups/urls.py
+++ b/openstack_dashboard/dashboards/project/server_groups/urls.py
@@ -11,7 +11,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers import views
diff --git a/openstack_dashboard/dashboards/project/snapshots/forms.py b/openstack_dashboard/dashboards/project/snapshots/forms.py
index 638fb1cec..3b6f29d0c 100644
--- a/openstack_dashboard/dashboards/project/snapshots/forms.py
+++ b/openstack_dashboard/dashboards/project/snapshots/forms.py
@@ -12,7 +12,7 @@
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/snapshots/panel.py b/openstack_dashboard/dashboards/project/snapshots/panel.py
index 1dfa446f9..1818a9ee1 100644
--- a/openstack_dashboard/dashboards/project/snapshots/panel.py
+++ b/openstack_dashboard/dashboards/project/snapshots/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/snapshots/tables.py b/openstack_dashboard/dashboards/project/snapshots/tables.py
index 61fd5f6fd..4c1b54328 100644
--- a/openstack_dashboard/dashboards/project/snapshots/tables.py
+++ b/openstack_dashboard/dashboards/project/snapshots/tables.py
@@ -14,8 +14,8 @@
from django.urls import reverse
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from horizon import tables
@@ -74,7 +74,7 @@ class DeleteVolumeSnapshot(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Volume Snapshot",
"Delete Volume Snapshots",
count
@@ -82,7 +82,7 @@ class DeleteVolumeSnapshot(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Scheduled deletion of Volume Snapshot",
"Scheduled deletion of Volume Snapshots",
count
diff --git a/openstack_dashboard/dashboards/project/snapshots/tabs.py b/openstack_dashboard/dashboards/project/snapshots/tabs.py
index 2c29e99cc..5a3f63deb 100644
--- a/openstack_dashboard/dashboards/project/snapshots/tabs.py
+++ b/openstack_dashboard/dashboards/project/snapshots/tabs.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/snapshots/views.py b/openstack_dashboard/dashboards/project/snapshots/views.py
index be3fe4e97..7efc4a892 100644
--- a/openstack_dashboard/dashboards/project/snapshots/views.py
+++ b/openstack_dashboard/dashboards/project/snapshots/views.py
@@ -13,7 +13,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
from django.utils.http import urlencode
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/trunks/panel.py b/openstack_dashboard/dashboards/project/trunks/panel.py
index 3c70e710a..e3a003cd8 100644
--- a/openstack_dashboard/dashboards/project/trunks/panel.py
+++ b/openstack_dashboard/dashboards/project/trunks/panel.py
@@ -14,7 +14,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/trunks/urls.py b/openstack_dashboard/dashboards/project/trunks/urls.py
index 15206e820..cb49c9829 100644
--- a/openstack_dashboard/dashboards/project/trunks/urls.py
+++ b/openstack_dashboard/dashboards/project/trunks/urls.py
@@ -13,7 +13,7 @@
# under the License.
from django.conf.urls import url
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.browsers.views import AngularIndexView
diff --git a/openstack_dashboard/dashboards/project/vg_snapshots/forms.py b/openstack_dashboard/dashboards/project/vg_snapshots/forms.py
index e6636ca4c..3b02de966 100644
--- a/openstack_dashboard/dashboards/project/vg_snapshots/forms.py
+++ b/openstack_dashboard/dashboards/project/vg_snapshots/forms.py
@@ -12,7 +12,7 @@
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/vg_snapshots/panel.py b/openstack_dashboard/dashboards/project/vg_snapshots/panel.py
index e30cee584..f204eba42 100644
--- a/openstack_dashboard/dashboards/project/vg_snapshots/panel.py
+++ b/openstack_dashboard/dashboards/project/vg_snapshots/panel.py
@@ -14,7 +14,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/vg_snapshots/tables.py b/openstack_dashboard/dashboards/project/vg_snapshots/tables.py
index 25923d7c5..b66281ed0 100644
--- a/openstack_dashboard/dashboards/project/vg_snapshots/tables.py
+++ b/openstack_dashboard/dashboards/project/vg_snapshots/tables.py
@@ -11,9 +11,9 @@
# under the License.
from django.urls import reverse
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import exceptions
from horizon import tables
@@ -36,7 +36,7 @@ class DeleteGroupSnapshot(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Snapshot",
"Delete Snapshots",
count
@@ -44,7 +44,7 @@ class DeleteGroupSnapshot(policy.PolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Scheduled deletion of Snapshot",
"Scheduled deletion of Snapshots",
count
diff --git a/openstack_dashboard/dashboards/project/vg_snapshots/tabs.py b/openstack_dashboard/dashboards/project/vg_snapshots/tabs.py
index 418f7e1a4..5633724b8 100644
--- a/openstack_dashboard/dashboards/project/vg_snapshots/tabs.py
+++ b/openstack_dashboard/dashboards/project/vg_snapshots/tabs.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/vg_snapshots/views.py b/openstack_dashboard/dashboards/project/vg_snapshots/views.py
index 1cd8619b4..29a2f69a0 100644
--- a/openstack_dashboard/dashboards/project/vg_snapshots/views.py
+++ b/openstack_dashboard/dashboards/project/vg_snapshots/views.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/volume_groups/forms.py b/openstack_dashboard/dashboards/project/volume_groups/forms.py
index cac0f00b1..be4de0c97 100644
--- a/openstack_dashboard/dashboards/project/volume_groups/forms.py
+++ b/openstack_dashboard/dashboards/project/volume_groups/forms.py
@@ -12,7 +12,7 @@
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/volume_groups/panel.py b/openstack_dashboard/dashboards/project/volume_groups/panel.py
index 79a4b40a3..83880a811 100644
--- a/openstack_dashboard/dashboards/project/volume_groups/panel.py
+++ b/openstack_dashboard/dashboards/project/volume_groups/panel.py
@@ -14,7 +14,7 @@
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/volume_groups/tables.py b/openstack_dashboard/dashboards/project/volume_groups/tables.py
index 7cfbf94fd..38539ff3a 100644
--- a/openstack_dashboard/dashboards/project/volume_groups/tables.py
+++ b/openstack_dashboard/dashboards/project/volume_groups/tables.py
@@ -11,8 +11,8 @@
# under the License.
from django.template import defaultfilters as filters
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tables
diff --git a/openstack_dashboard/dashboards/project/volume_groups/tabs.py b/openstack_dashboard/dashboards/project/volume_groups/tabs.py
index 5dabbcceb..8964a5a10 100644
--- a/openstack_dashboard/dashboards/project/volume_groups/tabs.py
+++ b/openstack_dashboard/dashboards/project/volume_groups/tabs.py
@@ -11,7 +11,7 @@
# under the License.
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/volume_groups/views.py b/openstack_dashboard/dashboards/project/volume_groups/views.py
index 426e89cb0..2295d9eae 100644
--- a/openstack_dashboard/dashboards/project/volume_groups/views.py
+++ b/openstack_dashboard/dashboards/project/volume_groups/views.py
@@ -12,7 +12,7 @@
from django.urls import reverse
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/volume_groups/workflows.py b/openstack_dashboard/dashboards/project/volume_groups/workflows.py
index 55849bfd5..09533b197 100644
--- a/openstack_dashboard/dashboards/project/volume_groups/workflows.py
+++ b/openstack_dashboard/dashboards/project/volume_groups/workflows.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/volumes/forms.py b/openstack_dashboard/dashboards/project/volumes/forms.py
index 3622201e9..3d89d365f 100644
--- a/openstack_dashboard/dashboards/project/volumes/forms.py
+++ b/openstack_dashboard/dashboards/project/volumes/forms.py
@@ -23,8 +23,8 @@ from django.conf import settings
from django.forms import ValidationError
from django.template.defaultfilters import filesizeformat
from django.urls import reverse
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/volumes/panel.py b/openstack_dashboard/dashboards/project/volumes/panel.py
index bbc6f2e19..84af9ef6d 100644
--- a/openstack_dashboard/dashboards/project/volumes/panel.py
+++ b/openstack_dashboard/dashboards/project/volumes/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/project/volumes/tables.py b/openstack_dashboard/dashboards/project/volumes/tables.py
index f693dc57f..5bd9568dd 100644
--- a/openstack_dashboard/dashboards/project/volumes/tables.py
+++ b/openstack_dashboard/dashboards/project/volumes/tables.py
@@ -20,10 +20,10 @@ from django.utils import html
from django.utils.http import urlencode
from django.utils import safestring
from django.utils.text import format_lazy
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext_lazy
from django.utils.translation import npgettext_lazy
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
-from django.utils.translation import ungettext_lazy
from horizon import exceptions
from horizon import messages
@@ -96,7 +96,7 @@ class DeleteVolume(VolumePolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_present(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Delete Volume",
"Delete Volumes",
count
@@ -104,7 +104,7 @@ class DeleteVolume(VolumePolicyTargetMixin, tables.DeleteAction):
@staticmethod
def action_past(count):
- return ungettext_lazy(
+ return ngettext_lazy(
"Scheduled deletion of Volume",
"Scheduled deletion of Volumes",
count
diff --git a/openstack_dashboard/dashboards/project/volumes/tabs.py b/openstack_dashboard/dashboards/project/volumes/tabs.py
index 13f703149..98a5adc34 100644
--- a/openstack_dashboard/dashboards/project/volumes/tabs.py
+++ b/openstack_dashboard/dashboards/project/volumes/tabs.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/volumes/views.py b/openstack_dashboard/dashboards/project/volumes/views.py
index 3fe3ff2ca..8ac0f164b 100644
--- a/openstack_dashboard/dashboards/project/volumes/views.py
+++ b/openstack_dashboard/dashboards/project/volumes/views.py
@@ -25,7 +25,7 @@ from django.urls import reverse
from django.urls import reverse_lazy
from django.utils.decorators import method_decorator
from django.utils import encoding
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.cache import never_cache
from django.views import generic
diff --git a/openstack_dashboard/dashboards/settings/dashboard.py b/openstack_dashboard/dashboards/settings/dashboard.py
index 7cb4dcc1b..b1f1d006b 100644
--- a/openstack_dashboard/dashboards/settings/dashboard.py
+++ b/openstack_dashboard/dashboards/settings/dashboard.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/settings/password/forms.py b/openstack_dashboard/dashboards/settings/password/forms.py
index a4835930f..348748701 100644
--- a/openstack_dashboard/dashboards/settings/password/forms.py
+++ b/openstack_dashboard/dashboards/settings/password/forms.py
@@ -15,7 +15,7 @@
from django.conf import settings
from django.forms import ValidationError
from django import http
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from django.views.decorators.debug import sensitive_variables
from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/settings/password/panel.py b/openstack_dashboard/dashboards/settings/password/panel.py
index c03010aeb..1b93c09f0 100644
--- a/openstack_dashboard/dashboards/settings/password/panel.py
+++ b/openstack_dashboard/dashboards/settings/password/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/settings/password/views.py b/openstack_dashboard/dashboards/settings/password/views.py
index 331bb4b04..b648d36b5 100644
--- a/openstack_dashboard/dashboards/settings/password/views.py
+++ b/openstack_dashboard/dashboards/settings/password/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
diff --git a/openstack_dashboard/dashboards/settings/user/forms.py b/openstack_dashboard/dashboards/settings/user/forms.py
index e1deb940a..4997cc800 100644
--- a/openstack_dashboard/dashboards/settings/user/forms.py
+++ b/openstack_dashboard/dashboards/settings/user/forms.py
@@ -21,7 +21,7 @@ from django.conf import settings
from django import shortcuts
from django.utils import encoding
from django.utils import translation
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import pytz
from horizon import forms
diff --git a/openstack_dashboard/dashboards/settings/user/panel.py b/openstack_dashboard/dashboards/settings/user/panel.py
index 9b9781eb0..9e1ac955a 100644
--- a/openstack_dashboard/dashboards/settings/user/panel.py
+++ b/openstack_dashboard/dashboards/settings/user/panel.py
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
import horizon
diff --git a/openstack_dashboard/dashboards/settings/user/views.py b/openstack_dashboard/dashboards/settings/user/views.py
index 539b3b585..2d28240f9 100644
--- a/openstack_dashboard/dashboards/settings/user/views.py
+++ b/openstack_dashboard/dashboards/settings/user/views.py
@@ -13,7 +13,7 @@
# under the License.
from django.urls import reverse_lazy
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import forms
from horizon.utils import functions as utils
diff --git a/openstack_dashboard/defaults.py b/openstack_dashboard/defaults.py
index c6894332f..f605afa77 100644
--- a/openstack_dashboard/defaults.py
+++ b/openstack_dashboard/defaults.py
@@ -14,8 +14,8 @@
import os
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
# openstack_auth.default is imported in horizon.defaults.
from horizon.defaults import * # noqa: F401,F403,H303
diff --git a/openstack_dashboard/enabled/_1010_compute_panel_group.py b/openstack_dashboard/enabled/_1010_compute_panel_group.py
index c90bc8850..b46b54a01 100644
--- a/openstack_dashboard/enabled/_1010_compute_panel_group.py
+++ b/openstack_dashboard/enabled/_1010_compute_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'compute'
diff --git a/openstack_dashboard/enabled/_1310_volumes_panel_group.py b/openstack_dashboard/enabled/_1310_volumes_panel_group.py
index 0c234ec1f..b583039cc 100644
--- a/openstack_dashboard/enabled/_1310_volumes_panel_group.py
+++ b/openstack_dashboard/enabled/_1310_volumes_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'volumes'
diff --git a/openstack_dashboard/enabled/_1410_network_panel_group.py b/openstack_dashboard/enabled/_1410_network_panel_group.py
index 7dba5a04a..5335d6d42 100644
--- a/openstack_dashboard/enabled/_1410_network_panel_group.py
+++ b/openstack_dashboard/enabled/_1410_network_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'network'
diff --git a/openstack_dashboard/enabled/_1910_object_store_panel_group.py b/openstack_dashboard/enabled/_1910_object_store_panel_group.py
index 11a823189..39157cd9b 100644
--- a/openstack_dashboard/enabled/_1910_object_store_panel_group.py
+++ b/openstack_dashboard/enabled/_1910_object_store_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
PANEL_GROUP = 'object_store'
PANEL_GROUP_NAME = _('Object Store')
diff --git a/openstack_dashboard/enabled/_2110_admin_compute_panel_group.py b/openstack_dashboard/enabled/_2110_admin_compute_panel_group.py
index ce667c05c..c7d695ef1 100644
--- a/openstack_dashboard/enabled/_2110_admin_compute_panel_group.py
+++ b/openstack_dashboard/enabled/_2110_admin_compute_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'compute'
diff --git a/openstack_dashboard/enabled/_2210_admin_volume_panel_group.py b/openstack_dashboard/enabled/_2210_admin_volume_panel_group.py
index 2bb19ee36..0bf873ea0 100644
--- a/openstack_dashboard/enabled/_2210_admin_volume_panel_group.py
+++ b/openstack_dashboard/enabled/_2210_admin_volume_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'volume'
diff --git a/openstack_dashboard/enabled/_2300_admin_network_panel_group.py b/openstack_dashboard/enabled/_2300_admin_network_panel_group.py
index fa7de76a0..6c2120e9a 100644
--- a/openstack_dashboard/enabled/_2300_admin_network_panel_group.py
+++ b/openstack_dashboard/enabled/_2300_admin_network_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'network'
diff --git a/openstack_dashboard/enabled/_2810_admin_system_panel_group.py b/openstack_dashboard/enabled/_2810_admin_system_panel_group.py
index b0f70158d..37bcc81a6 100644
--- a/openstack_dashboard/enabled/_2810_admin_system_panel_group.py
+++ b/openstack_dashboard/enabled/_2810_admin_system_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'admin'
diff --git a/openstack_dashboard/enabled/_3060_federation_panel_group.py b/openstack_dashboard/enabled/_3060_federation_panel_group.py
index b4ef8e399..a21db68dd 100644
--- a/openstack_dashboard/enabled/_3060_federation_panel_group.py
+++ b/openstack_dashboard/enabled/_3060_federation_panel_group.py
@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
# The slug of the panel group to be added to HORIZON_CONFIG. Required.
PANEL_GROUP = 'federation'
diff --git a/openstack_dashboard/local/local_settings.py.example b/openstack_dashboard/local/local_settings.py.example
index 2b084bf24..8516caf35 100644
--- a/openstack_dashboard/local/local_settings.py.example
+++ b/openstack_dashboard/local/local_settings.py.example
@@ -14,7 +14,7 @@
import os
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.utils import secret_key
diff --git a/openstack_dashboard/management/commands/upgrade_check.py b/openstack_dashboard/management/commands/upgrade_check.py
index 2f0c07a94..9629db6e7 100644
--- a/openstack_dashboard/management/commands/upgrade_check.py
+++ b/openstack_dashboard/management/commands/upgrade_check.py
@@ -17,7 +17,7 @@ from oslo_upgradecheck import upgradecheck
from django.conf import settings
from django.core.management.base import BaseCommand
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from openstack_dashboard import defaults
diff --git a/openstack_dashboard/settings.py b/openstack_dashboard/settings.py
index ccfb4bfa9..93f6f03d0 100644
--- a/openstack_dashboard/settings.py
+++ b/openstack_dashboard/settings.py
@@ -22,7 +22,7 @@ import os
import sys
import warnings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon.utils.escape import monkeypatch_escape
diff --git a/openstack_dashboard/test/test_panels/another_panel/views.py b/openstack_dashboard/test/test_panels/another_panel/views.py
index 35882683e..8ef0364d2 100644
--- a/openstack_dashboard/test/test_panels/another_panel/views.py
+++ b/openstack_dashboard/test/test_panels/another_panel/views.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import views
diff --git a/openstack_dashboard/test/unit/usage/test_quotas.py b/openstack_dashboard/test/unit/usage/test_quotas.py
index 3538b8a8d..16744b323 100644
--- a/openstack_dashboard/test/unit/usage/test_quotas.py
+++ b/openstack_dashboard/test/unit/usage/test_quotas.py
@@ -21,7 +21,7 @@ import collections
from unittest import mock
from django.test.utils import override_settings
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from openstack_dashboard import api
diff --git a/openstack_dashboard/usage/base.py b/openstack_dashboard/usage/base.py
index 650e305bf..5aead43a7 100644
--- a/openstack_dashboard/usage/base.py
+++ b/openstack_dashboard/usage/base.py
@@ -14,7 +14,7 @@ import datetime
from django.conf import settings
from django.utils import timezone
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon import forms
diff --git a/openstack_dashboard/usage/quotas.py b/openstack_dashboard/usage/quotas.py
index 40af59867..ce04f66ba 100644
--- a/openstack_dashboard/usage/quotas.py
+++ b/openstack_dashboard/usage/quotas.py
@@ -14,7 +14,7 @@ from collections import defaultdict
import itertools
import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import exceptions
from horizon.utils.memoized import memoized
diff --git a/openstack_dashboard/usage/tables.py b/openstack_dashboard/usage/tables.py
index ae2b44937..536a40fd7 100644
--- a/openstack_dashboard/usage/tables.py
+++ b/openstack_dashboard/usage/tables.py
@@ -12,7 +12,7 @@
from django.template.defaultfilters import floatformat
from django import urls
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from horizon import tables
from horizon.templatetags import sizeformat
diff --git a/openstack_dashboard/usage/views.py b/openstack_dashboard/usage/views.py
index 2d76ba9e0..e8201ae45 100644
--- a/openstack_dashboard/usage/views.py
+++ b/openstack_dashboard/usage/views.py
@@ -14,8 +14,8 @@ import collections
from django.conf import settings
from django.contrib.humanize.templatetags import humanize as humanize_filters
+from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext_lazy
-from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tables