diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 2b444bbdf..5f2701ad5 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -1,3 +1,4 @@ +from django.utils.translation import gettext_lazy as _ from utilities.choices import ButtonColorChoices, ChoiceSet @@ -22,19 +23,19 @@ class CustomFieldTypeChoices(ChoiceSet): TYPE_MULTIOBJECT = 'multiobject' CHOICES = ( - (TYPE_TEXT, 'Text'), - (TYPE_LONGTEXT, 'Text (long)'), - (TYPE_INTEGER, 'Integer'), - (TYPE_DECIMAL, 'Decimal'), - (TYPE_BOOLEAN, 'Boolean (true/false)'), - (TYPE_DATE, 'Date'), - (TYPE_DATETIME, 'Date & time'), - (TYPE_URL, 'URL'), - (TYPE_JSON, 'JSON'), - (TYPE_SELECT, 'Selection'), - (TYPE_MULTISELECT, 'Multiple selection'), - (TYPE_OBJECT, 'Object'), - (TYPE_MULTIOBJECT, 'Multiple objects'), + (TYPE_TEXT, _('Text')), + (TYPE_LONGTEXT, _('Text (long)')), + (TYPE_INTEGER, _('Integer')), + (TYPE_DECIMAL, _('Decimal')), + (TYPE_BOOLEAN, _('Boolean (true/false)')), + (TYPE_DATE, _('Date')), + (TYPE_DATETIME, _('Date & time')), + (TYPE_URL, _('URL')), + (TYPE_JSON, _('JSON')), + (TYPE_SELECT, _('Selection')), + (TYPE_MULTISELECT, _('Multiple selection')), + (TYPE_OBJECT, _('Object')), + (TYPE_MULTIOBJECT, _('Multiple objects')), ) @@ -45,9 +46,9 @@ class CustomFieldFilterLogicChoices(ChoiceSet): FILTER_EXACT = 'exact' CHOICES = ( - (FILTER_DISABLED, 'Disabled'), - (FILTER_LOOSE, 'Loose'), - (FILTER_EXACT, 'Exact'), + (FILTER_DISABLED, _('Disabled')), + (FILTER_LOOSE, _('Loose')), + (FILTER_EXACT, _('Exact')), ) @@ -59,10 +60,10 @@ class CustomFieldVisibilityChoices(ChoiceSet): VISIBILITY_HIDDEN_IFUNSET = 'hidden-ifunset' CHOICES = ( - (VISIBILITY_READ_WRITE, 'Read/Write'), - (VISIBILITY_READ_ONLY, 'Read-only'), - (VISIBILITY_HIDDEN, 'Hidden'), - (VISIBILITY_HIDDEN_IFUNSET, 'Hidden (if unset)'), + (VISIBILITY_READ_WRITE, _('Read/Write')), + (VISIBILITY_READ_ONLY, _('Read-only')), + (VISIBILITY_HIDDEN, _('Hidden')), + (VISIBILITY_HIDDEN_IFUNSET, _('Hidden (if unset)')), ) @@ -89,7 +90,7 @@ class CustomLinkButtonClassChoices(ButtonColorChoices): CHOICES = ( *ButtonColorChoices.CHOICES, - (LINK, 'Link'), + (LINK, _('Link')), ) @@ -103,8 +104,8 @@ class BookmarkOrderingChoices(ChoiceSet): ORDERING_OLDEST = 'created' CHOICES = ( - (ORDERING_NEWEST, 'Newest'), - (ORDERING_OLDEST, 'Oldest'), + (ORDERING_NEWEST, _('Newest')), + (ORDERING_OLDEST, _('Oldest')), ) # @@ -119,9 +120,9 @@ class ObjectChangeActionChoices(ChoiceSet): ACTION_DELETE = 'delete' CHOICES = ( - (ACTION_CREATE, 'Created', 'green'), - (ACTION_UPDATE, 'Updated', 'blue'), - (ACTION_DELETE, 'Deleted', 'red'), + (ACTION_CREATE, _('Created'), 'green'), + (ACTION_UPDATE, _('Updated'), 'blue'), + (ACTION_DELETE, _('Deleted'), 'red'), ) @@ -138,10 +139,10 @@ class JournalEntryKindChoices(ChoiceSet): KIND_DANGER = 'danger' CHOICES = [ - (KIND_INFO, 'Info', 'cyan'), - (KIND_SUCCESS, 'Success', 'green'), - (KIND_WARNING, 'Warning', 'yellow'), - (KIND_DANGER, 'Danger', 'red'), + (KIND_INFO, _('Info'), 'cyan'), + (KIND_SUCCESS, _('Success'), 'green'), + (KIND_WARNING, _('Warning'), 'yellow'), + (KIND_DANGER, _('Danger'), 'red'), ] @@ -158,22 +159,22 @@ class LogLevelChoices(ChoiceSet): LOG_FAILURE = 'failure' CHOICES = ( - (LOG_DEFAULT, 'Default', 'gray'), - (LOG_SUCCESS, 'Success', 'green'), - (LOG_INFO, 'Info', 'cyan'), - (LOG_WARNING, 'Warning', 'yellow'), - (LOG_FAILURE, 'Failure', 'red'), + (LOG_DEFAULT, _('Default'), 'gray'), + (LOG_SUCCESS, _('Success'), 'green'), + (LOG_INFO, _('Info'), 'cyan'), + (LOG_WARNING, _('Warning'), 'yellow'), + (LOG_FAILURE, _('Failure'), 'red'), ) class DurationChoices(ChoiceSet): CHOICES = ( - (60, 'Hourly'), - (720, '12 hours'), - (1440, 'Daily'), - (10080, 'Weekly'), - (43200, '30 days'), + (60, _('Hourly')), + (720, _('12 hours')), + (1440, _('Daily')), + (10080, _('Weekly')), + (43200, _('30 days')), ) @@ -191,12 +192,12 @@ class JobResultStatusChoices(ChoiceSet): STATUS_FAILED = 'failed' CHOICES = ( - (STATUS_PENDING, 'Pending', 'cyan'), - (STATUS_SCHEDULED, 'Scheduled', 'gray'), - (STATUS_RUNNING, 'Running', 'blue'), - (STATUS_COMPLETED, 'Completed', 'green'), - (STATUS_ERRORED, 'Errored', 'red'), - (STATUS_FAILED, 'Failed', 'red'), + (STATUS_PENDING, _('Pending'), 'cyan'), + (STATUS_SCHEDULED, _('Scheduled'), 'gray'), + (STATUS_RUNNING, _('Running'), 'blue'), + (STATUS_COMPLETED, _('Completed'), 'green'), + (STATUS_ERRORED, _('Errored'), 'red'), + (STATUS_FAILED, _('Failed'), 'red'), ) TERMINAL_STATE_CHOICES = ( @@ -219,11 +220,11 @@ class WebhookHttpMethodChoices(ChoiceSet): METHOD_DELETE = 'DELETE' CHOICES = ( - (METHOD_GET, 'GET'), - (METHOD_POST, 'POST'), - (METHOD_PUT, 'PUT'), - (METHOD_PATCH, 'PATCH'), - (METHOD_DELETE, 'DELETE'), + (METHOD_GET, _('GET')), + (METHOD_POST, _('POST')), + (METHOD_PUT, _('PUT')), + (METHOD_PATCH, _('PATCH')), + (METHOD_DELETE, _('DELETE')), ) @@ -238,7 +239,7 @@ class ChangeActionChoices(ChoiceSet): ACTION_DELETE = 'delete' CHOICES = ( - (ACTION_CREATE, 'Create', 'green'), - (ACTION_UPDATE, 'Update', 'blue'), - (ACTION_DELETE, 'Delete', 'red'), + (ACTION_CREATE, _('Create'), 'green'), + (ACTION_UPDATE, _('Update'), 'blue'), + (ACTION_DELETE, _('Delete'), 'red'), ) diff --git a/netbox/ipam/choices.py b/netbox/ipam/choices.py index 298baa643..16fbd80da 100644 --- a/netbox/ipam/choices.py +++ b/netbox/ipam/choices.py @@ -1,3 +1,4 @@ +from django.utils.translation import gettext_lazy as _ from utilities.choices import ChoiceSet @@ -7,8 +8,8 @@ class IPAddressFamilyChoices(ChoiceSet): FAMILY_6 = 6 CHOICES = ( - (FAMILY_4, 'IPv4'), - (FAMILY_6, 'IPv6'), + (FAMILY_4, _('IPv4')), + (FAMILY_6, _('IPv6')), ) @@ -25,10 +26,10 @@ class PrefixStatusChoices(ChoiceSet): STATUS_DEPRECATED = 'deprecated' CHOICES = [ - (STATUS_CONTAINER, 'Container', 'gray'), - (STATUS_ACTIVE, 'Active', 'blue'), - (STATUS_RESERVED, 'Reserved', 'cyan'), - (STATUS_DEPRECATED, 'Deprecated', 'red'), + (STATUS_CONTAINER, _('Container'), 'gray'), + (STATUS_ACTIVE, _('Active'), 'blue'), + (STATUS_RESERVED, _('Reserved'), 'cyan'), + (STATUS_DEPRECATED, _('Deprecated'), 'red'), ] @@ -44,9 +45,9 @@ class IPRangeStatusChoices(ChoiceSet): STATUS_DEPRECATED = 'deprecated' CHOICES = [ - (STATUS_ACTIVE, 'Active', 'blue'), - (STATUS_RESERVED, 'Reserved', 'cyan'), - (STATUS_DEPRECATED, 'Deprecated', 'red'), + (STATUS_ACTIVE, _('Active'), 'blue'), + (STATUS_RESERVED, _('Reserved'), 'cyan'), + (STATUS_DEPRECATED, _('Deprecated'), 'red'), ] @@ -64,11 +65,11 @@ class IPAddressStatusChoices(ChoiceSet): STATUS_SLAAC = 'slaac' CHOICES = [ - (STATUS_ACTIVE, 'Active', 'blue'), - (STATUS_RESERVED, 'Reserved', 'cyan'), - (STATUS_DEPRECATED, 'Deprecated', 'red'), - (STATUS_DHCP, 'DHCP', 'green'), - (STATUS_SLAAC, 'SLAAC', 'purple'), + (STATUS_ACTIVE, _('Active'), 'blue'), + (STATUS_RESERVED, _('Reserved'), 'cyan'), + (STATUS_DEPRECATED, _('Deprecated'), 'red'), + (STATUS_DHCP, _('DHCP'), 'green'), + (STATUS_SLAAC, _('SLAAC'), 'purple'), ] @@ -84,14 +85,14 @@ class IPAddressRoleChoices(ChoiceSet): ROLE_CARP = 'carp' CHOICES = ( - (ROLE_LOOPBACK, 'Loopback', 'gray'), - (ROLE_SECONDARY, 'Secondary', 'blue'), - (ROLE_ANYCAST, 'Anycast', 'yellow'), - (ROLE_VIP, 'VIP', 'purple'), - (ROLE_VRRP, 'VRRP', 'green'), - (ROLE_HSRP, 'HSRP', 'green'), - (ROLE_GLBP, 'GLBP', 'green'), - (ROLE_CARP, 'CARP', 'green'), + (ROLE_LOOPBACK, _('Loopback'), 'gray'), + (ROLE_SECONDARY, _('Secondary'), 'blue'), + (ROLE_ANYCAST, _('Anycast'), 'yellow'), + (ROLE_VIP, _('VIP'), 'purple'), + (ROLE_VRRP, _('VRRP'), 'green'), + (ROLE_HSRP, _('HSRP'), 'green'), + (ROLE_GLBP, _('GLBP'), 'green'), + (ROLE_CARP, _('CARP'), 'green'), ) @@ -110,19 +111,19 @@ class FHRPGroupProtocolChoices(ChoiceSet): PROTOCOL_OTHER = 'other' CHOICES = ( - ('Standard', ( - (PROTOCOL_VRRP2, 'VRRPv2'), - (PROTOCOL_VRRP3, 'VRRPv3'), - (PROTOCOL_CARP, 'CARP'), + (_('Standard'), ( + (PROTOCOL_VRRP2, _('VRRPv2')), + (PROTOCOL_VRRP3, _('VRRPv3')), + (PROTOCOL_CARP, _('CARP')), )), - ('CheckPoint', ( - (PROTOCOL_CLUSTERXL, 'ClusterXL'), + (_('CheckPoint'), ( + (PROTOCOL_CLUSTERXL, _('ClusterXL')), )), - ('Cisco', ( - (PROTOCOL_HSRP, 'HSRP'), - (PROTOCOL_GLBP, 'GLBP'), + (_('Cisco'), ( + (PROTOCOL_HSRP, _('HSRP')), + (PROTOCOL_GLBP, _('GLBP')), )), - (PROTOCOL_OTHER, 'Other'), + (PROTOCOL_OTHER, _('Other')), ) @@ -132,8 +133,8 @@ class FHRPGroupAuthTypeChoices(ChoiceSet): AUTHENTICATION_MD5 = 'md5' CHOICES = ( - (AUTHENTICATION_PLAINTEXT, 'Plaintext'), - (AUTHENTICATION_MD5, 'MD5'), + (AUTHENTICATION_PLAINTEXT, _('Plaintext')), + (AUTHENTICATION_MD5, _('MD5')), ) @@ -149,9 +150,9 @@ class VLANStatusChoices(ChoiceSet): STATUS_DEPRECATED = 'deprecated' CHOICES = [ - (STATUS_ACTIVE, 'Active', 'blue'), - (STATUS_RESERVED, 'Reserved', 'cyan'), - (STATUS_DEPRECATED, 'Deprecated', 'red'), + (STATUS_ACTIVE, _('Active'), 'blue'), + (STATUS_RESERVED, _('Reserved'), 'cyan'), + (STATUS_DEPRECATED, _('Deprecated'), 'red'), ] @@ -166,9 +167,9 @@ class ServiceProtocolChoices(ChoiceSet): PROTOCOL_SCTP = 'sctp' CHOICES = ( - (PROTOCOL_TCP, 'TCP'), - (PROTOCOL_UDP, 'UDP'), - (PROTOCOL_SCTP, 'SCTP'), + (PROTOCOL_TCP, _('TCP')), + (PROTOCOL_UDP, _('UDP')), + (PROTOCOL_SCTP, _('SCTP')), ) @@ -187,29 +188,29 @@ class L2VPNTypeChoices(ChoiceSet): TYPE_PBB_EVPN = 'pbb-evpn' CHOICES = ( - ('VPLS', ( - (TYPE_VPWS, 'VPWS'), - (TYPE_VPLS, 'VPLS'), + (_('VPLS'), ( + (TYPE_VPWS, _('VPWS')), + (TYPE_VPLS, _('VPLS')), )), - ('VXLAN', ( - (TYPE_VXLAN, 'VXLAN'), - (TYPE_VXLAN_EVPN, 'VXLAN-EVPN'), + (_('VXLAN'), ( + (TYPE_VXLAN, _('VXLAN')), + (TYPE_VXLAN_EVPN, _('VXLAN-EVPN')), )), - ('L2VPN E-VPN', ( - (TYPE_MPLS_EVPN, 'MPLS EVPN'), - (TYPE_PBB_EVPN, 'PBB EVPN'), + (_('L2VPN E-VPN'), ( + (TYPE_MPLS_EVPN, _('MPLS EVPN')), + (TYPE_PBB_EVPN, _('PBB EVPN')), )), - ('E-Line', ( - (TYPE_EPL, 'EPL'), - (TYPE_EVPL, 'EVPL'), + (_('E-Line'), ( + (TYPE_EPL, _('EPL')), + (TYPE_EVPL, _('EVPL')), )), - ('E-LAN', ( - (TYPE_EPLAN, 'Ethernet Private LAN'), - (TYPE_EVPLAN, 'Ethernet Virtual Private LAN'), + (_('E-LAN'), ( + (TYPE_EPLAN, _('Ethernet Private LAN')), + (TYPE_EVPLAN, _('Ethernet Virtual Private LAN')), )), - ('E-Tree', ( - (TYPE_EPTREE, 'Ethernet Private Tree'), - (TYPE_EVPTREE, 'Ethernet Virtual Private Tree'), + (_('E-Tree'), ( + (TYPE_EPTREE, _('Ethernet Private Tree')), + (TYPE_EVPTREE, _('Ethernet Virtual Private Tree')), )), ) diff --git a/netbox/tenancy/choices.py b/netbox/tenancy/choices.py index b59d2050d..ce30aecd2 100644 --- a/netbox/tenancy/choices.py +++ b/netbox/tenancy/choices.py @@ -1,3 +1,4 @@ +from django.utils.translation import gettext_lazy as _ from utilities.choices import ChoiceSet @@ -12,8 +13,8 @@ class ContactPriorityChoices(ChoiceSet): PRIORITY_INACTIVE = 'inactive' CHOICES = ( - (PRIORITY_PRIMARY, 'Primary'), - (PRIORITY_SECONDARY, 'Secondary'), - (PRIORITY_TERTIARY, 'Tertiary'), - (PRIORITY_INACTIVE, 'Inactive'), + (PRIORITY_PRIMARY, _('Primary')), + (PRIORITY_SECONDARY, _('Secondary')), + (PRIORITY_TERTIARY, _('Tertiary')), + (PRIORITY_INACTIVE, _('Inactive')), ) diff --git a/netbox/utilities/choices.py b/netbox/utilities/choices.py index 5ad05b989..ccc37d26d 100644 --- a/netbox/utilities/choices.py +++ b/netbox/utilities/choices.py @@ -1,4 +1,5 @@ from django.conf import settings +from django.utils.translation import gettext_lazy as _ class ChoiceSetMeta(type): @@ -9,7 +10,7 @@ class ChoiceSetMeta(type): # Extend static choices with any configured choices if key := attrs.get('key'): - assert type(attrs['CHOICES']) is list, f"{name} has a key defined but CHOICES is not a list" + assert type(attrs['CHOICES']) is list, _("{name} has a key defined but CHOICES is not a list").format(name=name) app = attrs['__module__'].split('.', 1)[0] replace_key = f'{app}.{key}' extend_key = f'{replace_key}+' if replace_key else None @@ -127,33 +128,33 @@ class ColorChoices(ChoiceSet): COLOR_WHITE = 'ffffff' CHOICES = ( - (COLOR_DARK_RED, 'Dark Red'), - (COLOR_RED, 'Red'), - (COLOR_PINK, 'Pink'), - (COLOR_ROSE, 'Rose'), - (COLOR_FUCHSIA, 'Fuchsia'), - (COLOR_PURPLE, 'Purple'), - (COLOR_DARK_PURPLE, 'Dark Purple'), - (COLOR_INDIGO, 'Indigo'), - (COLOR_BLUE, 'Blue'), - (COLOR_LIGHT_BLUE, 'Light Blue'), - (COLOR_CYAN, 'Cyan'), - (COLOR_TEAL, 'Teal'), - (COLOR_AQUA, 'Aqua'), - (COLOR_DARK_GREEN, 'Dark Green'), - (COLOR_GREEN, 'Green'), - (COLOR_LIGHT_GREEN, 'Light Green'), - (COLOR_LIME, 'Lime'), - (COLOR_YELLOW, 'Yellow'), - (COLOR_AMBER, 'Amber'), - (COLOR_ORANGE, 'Orange'), - (COLOR_DARK_ORANGE, 'Dark Orange'), - (COLOR_BROWN, 'Brown'), - (COLOR_LIGHT_GREY, 'Light Grey'), - (COLOR_GREY, 'Grey'), - (COLOR_DARK_GREY, 'Dark Grey'), - (COLOR_BLACK, 'Black'), - (COLOR_WHITE, 'White'), + (COLOR_DARK_RED, _('Dark Red')), + (COLOR_RED, _('Red')), + (COLOR_PINK, _('Pink')), + (COLOR_ROSE, _('Rose')), + (COLOR_FUCHSIA, _('Fuchsia')), + (COLOR_PURPLE, _('Purple')), + (COLOR_DARK_PURPLE, _('Dark Purple')), + (COLOR_INDIGO, _('Indigo')), + (COLOR_BLUE, _('Blue')), + (COLOR_LIGHT_BLUE, _('Light Blue')), + (COLOR_CYAN, _('Cyan')), + (COLOR_TEAL, _('Teal')), + (COLOR_AQUA, _('Aqua')), + (COLOR_DARK_GREEN, _('Dark Green')), + (COLOR_GREEN, _('Green')), + (COLOR_LIGHT_GREEN, _('Light Green')), + (COLOR_LIME, _('Lime')), + (COLOR_YELLOW, _('Yellow')), + (COLOR_AMBER, _('Amber')), + (COLOR_ORANGE, _('Orange')), + (COLOR_DARK_ORANGE, _('Dark Orange')), + (COLOR_BROWN, _('Brown')), + (COLOR_LIGHT_GREY, _('Light Grey')), + (COLOR_GREY, _('Grey')), + (COLOR_DARK_GREY, _('Dark Grey')), + (COLOR_BLACK, _('Black')), + (COLOR_WHITE, _('White')), ) @@ -182,20 +183,20 @@ class ButtonColorChoices(ChoiceSet): WHITE = 'white' CHOICES = ( - (DEFAULT, 'Default'), - (BLUE, 'Blue'), - (INDIGO, 'Indigo'), - (PURPLE, 'Purple'), - (PINK, 'Pink'), - (RED, 'Red'), - (ORANGE, 'Orange'), - (YELLOW, 'Yellow'), - (GREEN, 'Green'), - (TEAL, 'Teal'), - (CYAN, 'Cyan'), - (GRAY, 'Gray'), - (BLACK, 'Black'), - (WHITE, 'White'), + (DEFAULT, _('Default')), + (BLUE, _('Blue')), + (INDIGO, _('Indigo')), + (PURPLE, _('Purple')), + (PINK, _('Pink')), + (RED, _('Red')), + (ORANGE, _('Orange')), + (YELLOW, _('Yellow')), + (GREEN, _('Green')), + (TEAL, _('Teal')), + (CYAN, _('Cyan')), + (GRAY, _('Gray')), + (BLACK, _('Black')), + (WHITE, _('White')), ) @@ -209,9 +210,9 @@ class ImportMethodChoices(ChoiceSet): DATA_FILE = 'datafile' CHOICES = [ - (DIRECT, 'Direct'), - (UPLOAD, 'Upload'), - (DATA_FILE, 'Data file'), + (DIRECT, _('Direct')), + (UPLOAD, _('Upload')), + (DATA_FILE, _('Data file')), ] @@ -222,8 +223,8 @@ class ImportFormatChoices(ChoiceSet): YAML = 'yaml' CHOICES = [ - (AUTO, 'Auto-detect'), - (CSV, 'CSV'), - (JSON, 'JSON'), - (YAML, 'YAML'), + (AUTO, _('Auto-detect')), + (CSV, _('CSV')), + (JSON, _('JSON')), + (YAML, _('YAML')), ] diff --git a/netbox/virtualization/choices.py b/netbox/virtualization/choices.py index 2cf6357e1..2b7ce98b9 100644 --- a/netbox/virtualization/choices.py +++ b/netbox/virtualization/choices.py @@ -1,3 +1,4 @@ +from django.utils.translation import gettext_lazy as _ from utilities.choices import ChoiceSet @@ -15,11 +16,11 @@ class ClusterStatusChoices(ChoiceSet): STATUS_OFFLINE = 'offline' CHOICES = [ - (STATUS_PLANNED, 'Planned', 'cyan'), - (STATUS_STAGING, 'Staging', 'blue'), - (STATUS_ACTIVE, 'Active', 'green'), - (STATUS_DECOMMISSIONING, 'Decommissioning', 'yellow'), - (STATUS_OFFLINE, 'Offline', 'red'), + (STATUS_PLANNED, _('Planned'), 'cyan'), + (STATUS_STAGING, _('Staging'), 'blue'), + (STATUS_ACTIVE, _('Active'), 'green'), + (STATUS_DECOMMISSIONING, _('Decommissioning'), 'yellow'), + (STATUS_OFFLINE, _('Offline'), 'red'), ] @@ -38,10 +39,10 @@ class VirtualMachineStatusChoices(ChoiceSet): STATUS_DECOMMISSIONING = 'decommissioning' CHOICES = [ - (STATUS_OFFLINE, 'Offline', 'gray'), - (STATUS_ACTIVE, 'Active', 'green'), - (STATUS_PLANNED, 'Planned', 'cyan'), - (STATUS_STAGED, 'Staged', 'blue'), - (STATUS_FAILED, 'Failed', 'red'), - (STATUS_DECOMMISSIONING, 'Decommissioning', 'yellow'), + (STATUS_OFFLINE, _('Offline'), 'gray'), + (STATUS_ACTIVE, _('Active'), 'green'), + (STATUS_PLANNED, _('Planned'), 'cyan'), + (STATUS_STAGED, _('Staged'), 'blue'), + (STATUS_FAILED, _('Failed'), 'red'), + (STATUS_DECOMMISSIONING, _('Decommissioning'), 'yellow'), ] diff --git a/netbox/wireless/choices.py b/netbox/wireless/choices.py index c060a72c7..f35fe60c3 100644 --- a/netbox/wireless/choices.py +++ b/netbox/wireless/choices.py @@ -1,4 +1,4 @@ -from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy as _ from utilities.choices import ChoiceSet @@ -8,8 +8,8 @@ class WirelessRoleChoices(ChoiceSet): ROLE_STATION = 'station' CHOICES = ( - (ROLE_AP, 'Access point'), - (ROLE_STATION, 'Station'), + (ROLE_AP, _('Access point')), + (ROLE_STATION, _('Station')), ) @@ -238,220 +238,220 @@ class WirelessChannelChoices(ChoiceSet): CHOICES = ( ( - '2.4 GHz (802.11b/g/n/ax)', + _('2.4 GHz (802.11b/g/n/ax)'), ( - (CHANNEL_24G_1, '1 (2412 MHz)'), - (CHANNEL_24G_2, '2 (2417 MHz)'), - (CHANNEL_24G_3, '3 (2422 MHz)'), - (CHANNEL_24G_4, '4 (2427 MHz)'), - (CHANNEL_24G_5, '5 (2432 MHz)'), - (CHANNEL_24G_6, '6 (2437 MHz)'), - (CHANNEL_24G_7, '7 (2442 MHz)'), - (CHANNEL_24G_8, '8 (2447 MHz)'), - (CHANNEL_24G_9, '9 (2452 MHz)'), - (CHANNEL_24G_10, '10 (2457 MHz)'), - (CHANNEL_24G_11, '11 (2462 MHz)'), - (CHANNEL_24G_12, '12 (2467 MHz)'), - (CHANNEL_24G_13, '13 (2472 MHz)'), + (CHANNEL_24G_1, _('1 (2412 MHz)')), + (CHANNEL_24G_2, _('2 (2417 MHz)')), + (CHANNEL_24G_3, _('3 (2422 MHz)')), + (CHANNEL_24G_4, _('4 (2427 MHz)')), + (CHANNEL_24G_5, _('5 (2432 MHz)')), + (CHANNEL_24G_6, _('6 (2437 MHz)')), + (CHANNEL_24G_7, _('7 (2442 MHz)')), + (CHANNEL_24G_8, _('8 (2447 MHz)')), + (CHANNEL_24G_9, _('9 (2452 MHz)')), + (CHANNEL_24G_10, _('10 (2457 MHz)')), + (CHANNEL_24G_11, _('11 (2462 MHz)')), + (CHANNEL_24G_12, _('12 (2467 MHz)')), + (CHANNEL_24G_13, _('13 (2472 MHz)')), ) ), ( - '5 GHz (802.11a/n/ac/ax)', + _('5 GHz (802.11a/n/ac/ax)'), ( - (CHANNEL_5G_32, '32 (5160/20 MHz)'), - (CHANNEL_5G_34, '34 (5170/40 MHz)'), - (CHANNEL_5G_36, '36 (5180/20 MHz)'), - (CHANNEL_5G_38, '38 (5190/40 MHz)'), - (CHANNEL_5G_40, '40 (5200/20 MHz)'), - (CHANNEL_5G_42, '42 (5210/80 MHz)'), - (CHANNEL_5G_44, '44 (5220/20 MHz)'), - (CHANNEL_5G_46, '46 (5230/40 MHz)'), - (CHANNEL_5G_48, '48 (5240/20 MHz)'), - (CHANNEL_5G_50, '50 (5250/160 MHz)'), - (CHANNEL_5G_52, '52 (5260/20 MHz)'), - (CHANNEL_5G_54, '54 (5270/40 MHz)'), - (CHANNEL_5G_56, '56 (5280/20 MHz)'), - (CHANNEL_5G_58, '58 (5290/80 MHz)'), - (CHANNEL_5G_60, '60 (5300/20 MHz)'), - (CHANNEL_5G_62, '62 (5310/40 MHz)'), - (CHANNEL_5G_64, '64 (5320/20 MHz)'), - (CHANNEL_5G_100, '100 (5500/20 MHz)'), - (CHANNEL_5G_102, '102 (5510/40 MHz)'), - (CHANNEL_5G_104, '104 (5520/20 MHz)'), - (CHANNEL_5G_106, '106 (5530/80 MHz)'), - (CHANNEL_5G_108, '108 (5540/20 MHz)'), - (CHANNEL_5G_110, '110 (5550/40 MHz)'), - (CHANNEL_5G_112, '112 (5560/20 MHz)'), - (CHANNEL_5G_114, '114 (5570/160 MHz)'), - (CHANNEL_5G_116, '116 (5580/20 MHz)'), - (CHANNEL_5G_118, '118 (5590/40 MHz)'), - (CHANNEL_5G_120, '120 (5600/20 MHz)'), - (CHANNEL_5G_122, '122 (5610/80 MHz)'), - (CHANNEL_5G_124, '124 (5620/20 MHz)'), - (CHANNEL_5G_126, '126 (5630/40 MHz)'), - (CHANNEL_5G_128, '128 (5640/20 MHz)'), - (CHANNEL_5G_132, '132 (5660/20 MHz)'), - (CHANNEL_5G_134, '134 (5670/40 MHz)'), - (CHANNEL_5G_136, '136 (5680/20 MHz)'), - (CHANNEL_5G_138, '138 (5690/80 MHz)'), - (CHANNEL_5G_140, '140 (5700/20 MHz)'), - (CHANNEL_5G_142, '142 (5710/40 MHz)'), - (CHANNEL_5G_144, '144 (5720/20 MHz)'), - (CHANNEL_5G_149, '149 (5745/20 MHz)'), - (CHANNEL_5G_151, '151 (5755/40 MHz)'), - (CHANNEL_5G_153, '153 (5765/20 MHz)'), - (CHANNEL_5G_155, '155 (5775/80 MHz)'), - (CHANNEL_5G_157, '157 (5785/20 MHz)'), - (CHANNEL_5G_159, '159 (5795/40 MHz)'), - (CHANNEL_5G_161, '161 (5805/20 MHz)'), - (CHANNEL_5G_163, '163 (5815/160 MHz)'), - (CHANNEL_5G_165, '165 (5825/20 MHz)'), - (CHANNEL_5G_167, '167 (5835/40 MHz)'), - (CHANNEL_5G_169, '169 (5845/20 MHz)'), - (CHANNEL_5G_171, '171 (5855/80 MHz)'), - (CHANNEL_5G_173, '173 (5865/20 MHz)'), - (CHANNEL_5G_175, '175 (5875/40 MHz)'), - (CHANNEL_5G_177, '177 (5885/20 MHz)'), + (CHANNEL_5G_32, _('32 (5160/20 MHz)')), + (CHANNEL_5G_34, _('34 (5170/40 MHz)')), + (CHANNEL_5G_36, _('36 (5180/20 MHz)')), + (CHANNEL_5G_38, _('38 (5190/40 MHz)')), + (CHANNEL_5G_40, _('40 (5200/20 MHz)')), + (CHANNEL_5G_42, _('42 (5210/80 MHz)')), + (CHANNEL_5G_44, _('44 (5220/20 MHz)')), + (CHANNEL_5G_46, _('46 (5230/40 MHz)')), + (CHANNEL_5G_48, _('48 (5240/20 MHz)')), + (CHANNEL_5G_50, _('50 (5250/160 MHz)')), + (CHANNEL_5G_52, _('52 (5260/20 MHz)')), + (CHANNEL_5G_54, _('54 (5270/40 MHz)')), + (CHANNEL_5G_56, _('56 (5280/20 MHz)')), + (CHANNEL_5G_58, _('58 (5290/80 MHz)')), + (CHANNEL_5G_60, _('60 (5300/20 MHz)')), + (CHANNEL_5G_62, _('62 (5310/40 MHz)')), + (CHANNEL_5G_64, _('64 (5320/20 MHz)')), + (CHANNEL_5G_100, _('100 (5500/20 MHz)')), + (CHANNEL_5G_102, _('102 (5510/40 MHz)')), + (CHANNEL_5G_104, _('104 (5520/20 MHz)')), + (CHANNEL_5G_106, _('106 (5530/80 MHz)')), + (CHANNEL_5G_108, _('108 (5540/20 MHz)')), + (CHANNEL_5G_110, _('110 (5550/40 MHz)')), + (CHANNEL_5G_112, _('112 (5560/20 MHz)')), + (CHANNEL_5G_114, _('114 (5570/160 MHz)')), + (CHANNEL_5G_116, _('116 (5580/20 MHz)')), + (CHANNEL_5G_118, _('118 (5590/40 MHz)')), + (CHANNEL_5G_120, _('120 (5600/20 MHz)')), + (CHANNEL_5G_122, _('122 (5610/80 MHz)')), + (CHANNEL_5G_124, _('124 (5620/20 MHz)')), + (CHANNEL_5G_126, _('126 (5630/40 MHz)')), + (CHANNEL_5G_128, _('128 (5640/20 MHz)')), + (CHANNEL_5G_132, _('132 (5660/20 MHz)')), + (CHANNEL_5G_134, _('134 (5670/40 MHz)')), + (CHANNEL_5G_136, _('136 (5680/20 MHz)')), + (CHANNEL_5G_138, _('138 (5690/80 MHz)')), + (CHANNEL_5G_140, _('140 (5700/20 MHz)')), + (CHANNEL_5G_142, _('142 (5710/40 MHz)')), + (CHANNEL_5G_144, _('144 (5720/20 MHz)')), + (CHANNEL_5G_149, _('149 (5745/20 MHz)')), + (CHANNEL_5G_151, _('151 (5755/40 MHz)')), + (CHANNEL_5G_153, _('153 (5765/20 MHz)')), + (CHANNEL_5G_155, _('155 (5775/80 MHz)')), + (CHANNEL_5G_157, _('157 (5785/20 MHz)')), + (CHANNEL_5G_159, _('159 (5795/40 MHz)')), + (CHANNEL_5G_161, _('161 (5805/20 MHz)')), + (CHANNEL_5G_163, _('163 (5815/160 MHz)')), + (CHANNEL_5G_165, _('165 (5825/20 MHz)')), + (CHANNEL_5G_167, _('167 (5835/40 MHz)')), + (CHANNEL_5G_169, _('169 (5845/20 MHz)')), + (CHANNEL_5G_171, _('171 (5855/80 MHz)')), + (CHANNEL_5G_173, _('173 (5865/20 MHz)')), + (CHANNEL_5G_175, _('175 (5875/40 MHz)')), + (CHANNEL_5G_177, _('177 (5885/20 MHz)')), ) ), ( - '6 GHz (802.11ax)', + _('6 GHz (802.11ax)'), ( - (CHANNEL_6G_1, '1 (5955/20 MHz)'), - (CHANNEL_6G_3, '3 (5965/40 MHz)'), - (CHANNEL_6G_5, '5 (5975/20 MHz)'), - (CHANNEL_6G_7, '7 (5985/80 MHz)'), - (CHANNEL_6G_9, '9 (5995/20 MHz)'), - (CHANNEL_6G_11, '11 (6005/40 MHz)'), - (CHANNEL_6G_13, '13 (6015/20 MHz)'), - (CHANNEL_6G_15, '15 (6025/160 MHz)'), - (CHANNEL_6G_17, '17 (6035/20 MHz)'), - (CHANNEL_6G_19, '19 (6045/40 MHz)'), - (CHANNEL_6G_21, '21 (6055/20 MHz)'), - (CHANNEL_6G_23, '23 (6065/80 MHz)'), - (CHANNEL_6G_25, '25 (6075/20 MHz)'), - (CHANNEL_6G_27, '27 (6085/40 MHz)'), - (CHANNEL_6G_29, '29 (6095/20 MHz)'), - (CHANNEL_6G_31, '31 (6105/320 MHz)'), - (CHANNEL_6G_33, '33 (6115/20 MHz)'), - (CHANNEL_6G_35, '35 (6125/40 MHz)'), - (CHANNEL_6G_37, '37 (6135/20 MHz)'), - (CHANNEL_6G_39, '39 (6145/80 MHz)'), - (CHANNEL_6G_41, '41 (6155/20 MHz)'), - (CHANNEL_6G_43, '43 (6165/40 MHz)'), - (CHANNEL_6G_45, '45 (6175/20 MHz)'), - (CHANNEL_6G_47, '47 (6185/160 MHz)'), - (CHANNEL_6G_49, '49 (6195/20 MHz)'), - (CHANNEL_6G_51, '51 (6205/40 MHz)'), - (CHANNEL_6G_53, '53 (6215/20 MHz)'), - (CHANNEL_6G_55, '55 (6225/80 MHz)'), - (CHANNEL_6G_57, '57 (6235/20 MHz)'), - (CHANNEL_6G_59, '59 (6245/40 MHz)'), - (CHANNEL_6G_61, '61 (6255/20 MHz)'), - (CHANNEL_6G_65, '65 (6275/20 MHz)'), - (CHANNEL_6G_67, '67 (6285/40 MHz)'), - (CHANNEL_6G_69, '69 (6295/20 MHz)'), - (CHANNEL_6G_71, '71 (6305/80 MHz)'), - (CHANNEL_6G_73, '73 (6315/20 MHz)'), - (CHANNEL_6G_75, '75 (6325/40 MHz)'), - (CHANNEL_6G_77, '77 (6335/20 MHz)'), - (CHANNEL_6G_79, '79 (6345/160 MHz)'), - (CHANNEL_6G_81, '81 (6355/20 MHz)'), - (CHANNEL_6G_83, '83 (6365/40 MHz)'), - (CHANNEL_6G_85, '85 (6375/20 MHz)'), - (CHANNEL_6G_87, '87 (6385/80 MHz)'), - (CHANNEL_6G_89, '89 (6395/20 MHz)'), - (CHANNEL_6G_91, '91 (6405/40 MHz)'), - (CHANNEL_6G_93, '93 (6415/20 MHz)'), - (CHANNEL_6G_95, '95 (6425/320 MHz)'), - (CHANNEL_6G_97, '97 (6435/20 MHz)'), - (CHANNEL_6G_99, '99 (6445/40 MHz)'), - (CHANNEL_6G_101, '101 (6455/20 MHz)'), - (CHANNEL_6G_103, '103 (6465/80 MHz)'), - (CHANNEL_6G_105, '105 (6475/20 MHz)'), - (CHANNEL_6G_107, '107 (6485/40 MHz)'), - (CHANNEL_6G_109, '109 (6495/20 MHz)'), - (CHANNEL_6G_111, '111 (6505/160 MHz)'), - (CHANNEL_6G_113, '113 (6515/20 MHz)'), - (CHANNEL_6G_115, '115 (6525/40 MHz)'), - (CHANNEL_6G_117, '117 (6535/20 MHz)'), - (CHANNEL_6G_119, '119 (6545/80 MHz)'), - (CHANNEL_6G_121, '121 (6555/20 MHz)'), - (CHANNEL_6G_123, '123 (6565/40 MHz)'), - (CHANNEL_6G_125, '125 (6575/20 MHz)'), - (CHANNEL_6G_129, '129 (6595/20 MHz)'), - (CHANNEL_6G_131, '131 (6605/40 MHz)'), - (CHANNEL_6G_133, '133 (6615/20 MHz)'), - (CHANNEL_6G_135, '135 (6625/80 MHz)'), - (CHANNEL_6G_137, '137 (6635/20 MHz)'), - (CHANNEL_6G_139, '139 (6645/40 MHz)'), - (CHANNEL_6G_141, '141 (6655/20 MHz)'), - (CHANNEL_6G_143, '143 (6665/160 MHz)'), - (CHANNEL_6G_145, '145 (6675/20 MHz)'), - (CHANNEL_6G_147, '147 (6685/40 MHz)'), - (CHANNEL_6G_149, '149 (6695/20 MHz)'), - (CHANNEL_6G_151, '151 (6705/80 MHz)'), - (CHANNEL_6G_153, '153 (6715/20 MHz)'), - (CHANNEL_6G_155, '155 (6725/40 MHz)'), - (CHANNEL_6G_157, '157 (6735/20 MHz)'), - (CHANNEL_6G_159, '159 (6745/320 MHz)'), - (CHANNEL_6G_161, '161 (6755/20 MHz)'), - (CHANNEL_6G_163, '163 (6765/40 MHz)'), - (CHANNEL_6G_165, '165 (6775/20 MHz)'), - (CHANNEL_6G_167, '167 (6785/80 MHz)'), - (CHANNEL_6G_169, '169 (6795/20 MHz)'), - (CHANNEL_6G_171, '171 (6805/40 MHz)'), - (CHANNEL_6G_173, '173 (6815/20 MHz)'), - (CHANNEL_6G_175, '175 (6825/160 MHz)'), - (CHANNEL_6G_177, '177 (6835/20 MHz)'), - (CHANNEL_6G_179, '179 (6845/40 MHz)'), - (CHANNEL_6G_181, '181 (6855/20 MHz)'), - (CHANNEL_6G_183, '183 (6865/80 MHz)'), - (CHANNEL_6G_185, '185 (6875/20 MHz)'), - (CHANNEL_6G_187, '187 (6885/40 MHz)'), - (CHANNEL_6G_189, '189 (6895/20 MHz)'), - (CHANNEL_6G_193, '193 (6915/20 MHz)'), - (CHANNEL_6G_195, '195 (6925/40 MHz)'), - (CHANNEL_6G_197, '197 (6935/20 MHz)'), - (CHANNEL_6G_199, '199 (6945/80 MHz)'), - (CHANNEL_6G_201, '201 (6955/20 MHz)'), - (CHANNEL_6G_203, '203 (6965/40 MHz)'), - (CHANNEL_6G_205, '205 (6975/20 MHz)'), - (CHANNEL_6G_207, '207 (6985/160 MHz)'), - (CHANNEL_6G_209, '209 (6995/20 MHz)'), - (CHANNEL_6G_211, '211 (7005/40 MHz)'), - (CHANNEL_6G_213, '213 (7015/20 MHz)'), - (CHANNEL_6G_215, '215 (7025/80 MHz)'), - (CHANNEL_6G_217, '217 (7035/20 MHz)'), - (CHANNEL_6G_219, '219 (7045/40 MHz)'), - (CHANNEL_6G_221, '221 (7055/20 MHz)'), - (CHANNEL_6G_225, '225 (7075/20 MHz)'), - (CHANNEL_6G_227, '227 (7085/40 MHz)'), - (CHANNEL_6G_229, '229 (7095/20 MHz)'), - (CHANNEL_6G_233, '233 (7115/20 MHz)'), + (CHANNEL_6G_1, _('1 (5955/20 MHz)')), + (CHANNEL_6G_3, _('3 (5965/40 MHz)')), + (CHANNEL_6G_5, _('5 (5975/20 MHz)')), + (CHANNEL_6G_7, _('7 (5985/80 MHz)')), + (CHANNEL_6G_9, _('9 (5995/20 MHz)')), + (CHANNEL_6G_11, _('11 (6005/40 MHz)')), + (CHANNEL_6G_13, _('13 (6015/20 MHz)')), + (CHANNEL_6G_15, _('15 (6025/160 MHz)')), + (CHANNEL_6G_17, _('17 (6035/20 MHz)')), + (CHANNEL_6G_19, _('19 (6045/40 MHz)')), + (CHANNEL_6G_21, _('21 (6055/20 MHz)')), + (CHANNEL_6G_23, _('23 (6065/80 MHz)')), + (CHANNEL_6G_25, _('25 (6075/20 MHz)')), + (CHANNEL_6G_27, _('27 (6085/40 MHz)')), + (CHANNEL_6G_29, _('29 (6095/20 MHz)')), + (CHANNEL_6G_31, _('31 (6105/320 MHz)')), + (CHANNEL_6G_33, _('33 (6115/20 MHz)')), + (CHANNEL_6G_35, _('35 (6125/40 MHz)')), + (CHANNEL_6G_37, _('37 (6135/20 MHz)')), + (CHANNEL_6G_39, _('39 (6145/80 MHz)')), + (CHANNEL_6G_41, _('41 (6155/20 MHz)')), + (CHANNEL_6G_43, _('43 (6165/40 MHz)')), + (CHANNEL_6G_45, _('45 (6175/20 MHz)')), + (CHANNEL_6G_47, _('47 (6185/160 MHz)')), + (CHANNEL_6G_49, _('49 (6195/20 MHz)')), + (CHANNEL_6G_51, _('51 (6205/40 MHz)')), + (CHANNEL_6G_53, _('53 (6215/20 MHz)')), + (CHANNEL_6G_55, _('55 (6225/80 MHz)')), + (CHANNEL_6G_57, _('57 (6235/20 MHz)')), + (CHANNEL_6G_59, _('59 (6245/40 MHz)')), + (CHANNEL_6G_61, _('61 (6255/20 MHz)')), + (CHANNEL_6G_65, _('65 (6275/20 MHz)')), + (CHANNEL_6G_67, _('67 (6285/40 MHz)')), + (CHANNEL_6G_69, _('69 (6295/20 MHz)')), + (CHANNEL_6G_71, _('71 (6305/80 MHz)')), + (CHANNEL_6G_73, _('73 (6315/20 MHz)')), + (CHANNEL_6G_75, _('75 (6325/40 MHz)')), + (CHANNEL_6G_77, _('77 (6335/20 MHz)')), + (CHANNEL_6G_79, _('79 (6345/160 MHz)')), + (CHANNEL_6G_81, _('81 (6355/20 MHz)')), + (CHANNEL_6G_83, _('83 (6365/40 MHz)')), + (CHANNEL_6G_85, _('85 (6375/20 MHz)')), + (CHANNEL_6G_87, _('87 (6385/80 MHz)')), + (CHANNEL_6G_89, _('89 (6395/20 MHz)')), + (CHANNEL_6G_91, _('91 (6405/40 MHz)')), + (CHANNEL_6G_93, _('93 (6415/20 MHz)')), + (CHANNEL_6G_95, _('95 (6425/320 MHz)')), + (CHANNEL_6G_97, _('97 (6435/20 MHz)')), + (CHANNEL_6G_99, _('99 (6445/40 MHz)')), + (CHANNEL_6G_101, _('101 (6455/20 MHz)')), + (CHANNEL_6G_103, _('103 (6465/80 MHz)')), + (CHANNEL_6G_105, _('105 (6475/20 MHz)')), + (CHANNEL_6G_107, _('107 (6485/40 MHz)')), + (CHANNEL_6G_109, _('109 (6495/20 MHz)')), + (CHANNEL_6G_111, _('111 (6505/160 MHz)')), + (CHANNEL_6G_113, _('113 (6515/20 MHz)')), + (CHANNEL_6G_115, _('115 (6525/40 MHz)')), + (CHANNEL_6G_117, _('117 (6535/20 MHz)')), + (CHANNEL_6G_119, _('119 (6545/80 MHz)')), + (CHANNEL_6G_121, _('121 (6555/20 MHz)')), + (CHANNEL_6G_123, _('123 (6565/40 MHz)')), + (CHANNEL_6G_125, _('125 (6575/20 MHz)')), + (CHANNEL_6G_129, _('129 (6595/20 MHz)')), + (CHANNEL_6G_131, _('131 (6605/40 MHz)')), + (CHANNEL_6G_133, _('133 (6615/20 MHz)')), + (CHANNEL_6G_135, _('135 (6625/80 MHz)')), + (CHANNEL_6G_137, _('137 (6635/20 MHz)')), + (CHANNEL_6G_139, _('139 (6645/40 MHz)')), + (CHANNEL_6G_141, _('141 (6655/20 MHz)')), + (CHANNEL_6G_143, _('143 (6665/160 MHz)')), + (CHANNEL_6G_145, _('145 (6675/20 MHz)')), + (CHANNEL_6G_147, _('147 (6685/40 MHz)')), + (CHANNEL_6G_149, _('149 (6695/20 MHz)')), + (CHANNEL_6G_151, _('151 (6705/80 MHz)')), + (CHANNEL_6G_153, _('153 (6715/20 MHz)')), + (CHANNEL_6G_155, _('155 (6725/40 MHz)')), + (CHANNEL_6G_157, _('157 (6735/20 MHz)')), + (CHANNEL_6G_159, _('159 (6745/320 MHz)')), + (CHANNEL_6G_161, _('161 (6755/20 MHz)')), + (CHANNEL_6G_163, _('163 (6765/40 MHz)')), + (CHANNEL_6G_165, _('165 (6775/20 MHz)')), + (CHANNEL_6G_167, _('167 (6785/80 MHz)')), + (CHANNEL_6G_169, _('169 (6795/20 MHz)')), + (CHANNEL_6G_171, _('171 (6805/40 MHz)')), + (CHANNEL_6G_173, _('173 (6815/20 MHz)')), + (CHANNEL_6G_175, _('175 (6825/160 MHz)')), + (CHANNEL_6G_177, _('177 (6835/20 MHz)')), + (CHANNEL_6G_179, _('179 (6845/40 MHz)')), + (CHANNEL_6G_181, _('181 (6855/20 MHz)')), + (CHANNEL_6G_183, _('183 (6865/80 MHz)')), + (CHANNEL_6G_185, _('185 (6875/20 MHz)')), + (CHANNEL_6G_187, _('187 (6885/40 MHz)')), + (CHANNEL_6G_189, _('189 (6895/20 MHz)')), + (CHANNEL_6G_193, _('193 (6915/20 MHz)')), + (CHANNEL_6G_195, _('195 (6925/40 MHz)')), + (CHANNEL_6G_197, _('197 (6935/20 MHz)')), + (CHANNEL_6G_199, _('199 (6945/80 MHz)')), + (CHANNEL_6G_201, _('201 (6955/20 MHz)')), + (CHANNEL_6G_203, _('203 (6965/40 MHz)')), + (CHANNEL_6G_205, _('205 (6975/20 MHz)')), + (CHANNEL_6G_207, _('207 (6985/160 MHz)')), + (CHANNEL_6G_209, _('209 (6995/20 MHz)')), + (CHANNEL_6G_211, _('211 (7005/40 MHz)')), + (CHANNEL_6G_213, _('213 (7015/20 MHz)')), + (CHANNEL_6G_215, _('215 (7025/80 MHz)')), + (CHANNEL_6G_217, _('217 (7035/20 MHz)')), + (CHANNEL_6G_219, _('219 (7045/40 MHz)')), + (CHANNEL_6G_221, _('221 (7055/20 MHz)')), + (CHANNEL_6G_225, _('225 (7075/20 MHz)')), + (CHANNEL_6G_227, _('227 (7085/40 MHz)')), + (CHANNEL_6G_229, _('229 (7095/20 MHz)')), + (CHANNEL_6G_233, _('233 (7115/20 MHz)')), ) ), ( - '60 GHz (802.11ad/ay)', + _('60 GHz (802.11ad/ay)'), ( - (CHANNEL_60G_1, '1 (58.32/2.16 GHz)'), - (CHANNEL_60G_2, '2 (60.48/2.16 GHz)'), - (CHANNEL_60G_3, '3 (62.64/2.16 GHz)'), - (CHANNEL_60G_4, '4 (64.80/2.16 GHz)'), - (CHANNEL_60G_5, '5 (66.96/2.16 GHz)'), - (CHANNEL_60G_6, '6 (69.12/2.16 GHz)'), - (CHANNEL_60G_9, '9 (59.40/4.32 GHz)'), - (CHANNEL_60G_10, '10 (61.56/4.32 GHz)'), - (CHANNEL_60G_11, '11 (63.72/4.32 GHz)'), - (CHANNEL_60G_12, '12 (65.88/4.32 GHz)'), - (CHANNEL_60G_13, '13 (68.04/4.32 GHz)'), - (CHANNEL_60G_17, '17 (60.48/6.48 GHz)'), - (CHANNEL_60G_18, '18 (62.64/6.48 GHz)'), - (CHANNEL_60G_19, '19 (64.80/6.48 GHz)'), - (CHANNEL_60G_20, '20 (66.96/6.48 GHz)'), - (CHANNEL_60G_25, '25 (61.56/8.64 GHz)'), - (CHANNEL_60G_26, '26 (63.72/8.64 GHz)'), - (CHANNEL_60G_27, '27 (65.88/8.64 GHz)'), + (CHANNEL_60G_1, _('1 (58.32/2.16 GHz)')), + (CHANNEL_60G_2, _('2 (60.48/2.16 GHz)')), + (CHANNEL_60G_3, _('3 (62.64/2.16 GHz)')), + (CHANNEL_60G_4, _('4 (64.80/2.16 GHz)')), + (CHANNEL_60G_5, _('5 (66.96/2.16 GHz)')), + (CHANNEL_60G_6, _('6 (69.12/2.16 GHz)')), + (CHANNEL_60G_9, _('9 (59.40/4.32 GHz)')), + (CHANNEL_60G_10, _('10 (61.56/4.32 GHz)')), + (CHANNEL_60G_11, _('11 (63.72/4.32 GHz)')), + (CHANNEL_60G_12, _('12 (65.88/4.32 GHz)')), + (CHANNEL_60G_13, _('13 (68.04/4.32 GHz)')), + (CHANNEL_60G_17, _('17 (60.48/6.48 GHz)')), + (CHANNEL_60G_18, _('18 (62.64/6.48 GHz)')), + (CHANNEL_60G_19, _('19 (64.80/6.48 GHz)')), + (CHANNEL_60G_20, _('20 (66.96/6.48 GHz)')), + (CHANNEL_60G_25, _('25 (61.56/8.64 GHz)')), + (CHANNEL_60G_26, _('26 (63.72/8.64 GHz)')), + (CHANNEL_60G_27, _('27 (65.88/8.64 GHz)')), ) ), ) @@ -464,10 +464,10 @@ class WirelessAuthTypeChoices(ChoiceSet): TYPE_WPA_ENTERPRISE = 'wpa-enterprise' CHOICES = ( - (TYPE_OPEN, 'Open'), - (TYPE_WEP, 'WEP'), - (TYPE_WPA_PERSONAL, 'WPA Personal (PSK)'), - (TYPE_WPA_ENTERPRISE, 'WPA Enterprise'), + (TYPE_OPEN, _('Open')), + (TYPE_WEP, _('WEP')), + (TYPE_WPA_PERSONAL, _('WPA Personal (PSK)')), + (TYPE_WPA_ENTERPRISE, _('WPA Enterprise')), ) @@ -477,7 +477,7 @@ class WirelessAuthCipherChoices(ChoiceSet): CIPHER_AES = 'aes' CHOICES = ( - (CIPHER_AUTO, 'Auto'), - (CIPHER_TKIP, 'TKIP'), - (CIPHER_AES, 'AES'), + (CIPHER_AUTO, _('Auto')), + (CIPHER_TKIP, _('TKIP')), + (CIPHER_AES, _('AES')), )