From ec4b5d625c16ae092ddacb12c51c17480390a666 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 20 Jul 2023 17:41:46 +0700 Subject: [PATCH] 13150 translate table column fields --- netbox/circuits/tables/circuits.py | 21 ++++++++++------- netbox/circuits/tables/providers.py | 36 ++++++++++++++++++++--------- netbox/netbox/tables/columns.py | 19 +++++++++------ 3 files changed, 50 insertions(+), 26 deletions(-) diff --git a/netbox/circuits/tables/circuits.py b/netbox/circuits/tables/circuits.py index 7b1accdc3..6a05983e6 100644 --- a/netbox/circuits/tables/circuits.py +++ b/netbox/circuits/tables/circuits.py @@ -1,3 +1,4 @@ +from django.utils.translation import gettext_lazy as _ import django_tables2 as tables from circuits.models import * @@ -24,7 +25,8 @@ CIRCUITTERMINATION_LINK = """ class CircuitTypeTable(NetBoxTable): name = tables.Column( - linkify=True + linkify=True, + verbose_name=_('Name'), ) tags = columns.TagColumn( url_name='circuits:circuittype_list' @@ -32,7 +34,7 @@ class CircuitTypeTable(NetBoxTable): circuit_count = columns.LinkedCountColumn( viewname='circuits:circuit_list', url_params={'type_id': 'pk'}, - verbose_name='Circuits' + verbose_name=_('Circuits') ) class Meta(NetBoxTable.Meta): @@ -46,28 +48,31 @@ class CircuitTypeTable(NetBoxTable): class CircuitTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): cid = tables.Column( linkify=True, - verbose_name='Circuit ID' + verbose_name=_('Circuit ID') ) provider = tables.Column( + verbose_name=_('Provider'), linkify=True ) provider_account = tables.Column( linkify=True, - verbose_name='Account' + verbose_name=_('Account') ) status = columns.ChoiceFieldColumn() termination_a = tables.TemplateColumn( template_code=CIRCUITTERMINATION_LINK, - verbose_name='Side A' + verbose_name=_('Side A') ) termination_z = tables.TemplateColumn( template_code=CIRCUITTERMINATION_LINK, - verbose_name='Side Z' + verbose_name=_('Side Z') ) commit_rate = CommitRateColumn( - verbose_name='Commit Rate' + verbose_name=_('Commit Rate') + ) + comments = columns.MarkdownColumn( + verbose_name=_('Comments'), ) - comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='circuits:circuit_list' ) diff --git a/netbox/circuits/tables/providers.py b/netbox/circuits/tables/providers.py index ef8a6cd38..54499aeaf 100644 --- a/netbox/circuits/tables/providers.py +++ b/netbox/circuits/tables/providers.py @@ -1,4 +1,5 @@ import django_tables2 as tables +from django.utils.translation import gettext_lazy as _ from circuits.models import * from django_tables2.utils import Accessor from tenancy.tables import ContactsColumnMixin @@ -14,35 +15,38 @@ __all__ = ( class ProviderTable(ContactsColumnMixin, NetBoxTable): name = tables.Column( + verbose_name=_('Name'), linkify=True ) accounts = columns.ManyToManyColumn( linkify_item=True, - verbose_name='Accounts' + verbose_name=_('Accounts') ) account_count = columns.LinkedCountColumn( accessor=tables.A('accounts__count'), viewname='circuits:provideraccount_list', url_params={'account_id': 'pk'}, - verbose_name='Account Count' + verbose_name=_('Account Count') ) asns = columns.ManyToManyColumn( linkify_item=True, - verbose_name='ASNs' + verbose_name=_('ASNs') ) asn_count = columns.LinkedCountColumn( accessor=tables.A('asns__count'), viewname='ipam:asn_list', url_params={'provider_id': 'pk'}, - verbose_name='ASN Count' + verbose_name=_('ASN Count') ) circuit_count = columns.LinkedCountColumn( accessor=Accessor('count_circuits'), viewname='circuits:circuit_list', url_params={'provider_id': 'pk'}, - verbose_name='Circuits' + verbose_name=_('Circuits') + ) + comments = columns.MarkdownColumn( + verbose_name=_('Comments'), ) - comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='circuits:provider_list' ) @@ -58,19 +62,25 @@ class ProviderTable(ContactsColumnMixin, NetBoxTable): class ProviderAccountTable(ContactsColumnMixin, NetBoxTable): account = tables.Column( - linkify=True + linkify=True, + verbose_name=_('Account'), + ) + name = tables.Column( + verbose_name=_('Name'), ) - name = tables.Column() provider = tables.Column( + verbose_name=_('Provider'), linkify=True ) circuit_count = columns.LinkedCountColumn( accessor=Accessor('count_circuits'), viewname='circuits:circuit_list', url_params={'provider_account_id': 'pk'}, - verbose_name='Circuits' + verbose_name=_('Circuits') + ) + comments = columns.MarkdownColumn( + verbose_name=_('Comments'), ) - comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='circuits:provideraccount_list' ) @@ -86,12 +96,16 @@ class ProviderAccountTable(ContactsColumnMixin, NetBoxTable): class ProviderNetworkTable(NetBoxTable): name = tables.Column( + verbose_name=_('Name'), linkify=True ) provider = tables.Column( + verbose_name=_('Provider'), linkify=True ) - comments = columns.MarkdownColumn() + comments = columns.MarkdownColumn( + verbose_name=_('Comments'), + ) tags = columns.TagColumn( url_name='circuits:providernetwork_list' ) diff --git a/netbox/netbox/tables/columns.py b/netbox/netbox/tables/columns.py index 1f698f396..6cb07e5d2 100644 --- a/netbox/netbox/tables/columns.py +++ b/netbox/netbox/tables/columns.py @@ -12,6 +12,7 @@ from django.utils.dateparse import parse_date from django.utils.html import escape from django.utils.formats import date_format from django.utils.safestring import mark_safe +from django.utils.translation import gettext_lazy as _ from django_tables2.columns import library from django_tables2.utils import Accessor @@ -168,7 +169,7 @@ class ToggleColumn(tables.CheckBoxColumn): @property def header(self): - return mark_safe('') + return mark_safe('') class BooleanColumn(tables.Column): @@ -269,12 +270,13 @@ class ActionsColumn(tables.Column): ) # Create the actions dropdown menu + toggle_text = _('Toggle Dropdown') if button and dropdown_links: html += ( f'' f' {button}' f' ' - f' Toggle Dropdown' + f' {toggle_text}' f' ' f'' ) @@ -284,7 +286,7 @@ class ActionsColumn(tables.Column): html += ( f'' f' ' - f' Toggle Dropdown' + f' {toggle_text}' f' ' f'' ) @@ -438,7 +440,8 @@ class TagColumn(tables.TemplateColumn): super().__init__( orderable=False, template_code=self.template_code, - extra_context={'url_name': url_name} + extra_context={'url_name': url_name}, + verbose_name=_('Tags'), ) def value(self, value): @@ -520,7 +523,8 @@ class CustomLinkColumn(tables.Column): if rendered: return mark_safe(f'{rendered["text"]}') except Exception as e: - return mark_safe(f' Error') + error_text = _('Error') + return mark_safe(f' {error_text}') return '' def value(self, record): @@ -585,9 +589,10 @@ class MarkdownColumn(tables.TemplateColumn): {% endif %} """ - def __init__(self): + def __init__(self, **kwargs): super().__init__( - template_code=self.template_code + template_code=self.template_code, + **kwargs, ) def value(self, value):