1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #13352: Translation support for model verbose names (#13354)

* Update verbose_name & verbose_name_plural Meta attributes on all models

* Alter makemigrations to ignore verbose_name & verbose_name_plural changes
This commit is contained in:
Jeremy Stretch
2023-08-03 10:41:10 -04:00
committed by GitHub
parent 24ffaf09d4
commit caedc8dbe3
36 changed files with 288 additions and 28 deletions

View File

@@ -93,6 +93,8 @@ class ObjectChange(models.Model):
class Meta:
ordering = ['-time']
verbose_name = _('object change')
verbose_name_plural = _('object changes')
def __str__(self):
return '{} {} {} by {}'.format(

View File

@@ -125,6 +125,8 @@ class ConfigContext(SyncedDataMixin, CloningMixin, ChangeLoggedModel):
class Meta:
ordering = ['weight', 'name']
verbose_name = _('config context')
verbose_name_plural = _('config contexts')
def __str__(self):
return self.name
@@ -233,6 +235,8 @@ class ConfigTemplate(SyncedDataMixin, ExportTemplatesMixin, TagsMixin, ChangeLog
class Meta:
ordering = ('name',)
verbose_name = _('config template')
verbose_name_plural = _('config templates')
def __str__(self):
return self.name

View File

@@ -202,6 +202,8 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
class Meta:
ordering = ['group_name', 'weight', 'name']
verbose_name = _('custom field')
verbose_name_plural = _('custom fields')
def __str__(self):
return self.label or self.name.replace('_', ' ').capitalize()
@@ -710,6 +712,8 @@ class CustomFieldChoiceSet(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel
class Meta:
ordering = ('name',)
verbose_name = _('custom field choice set')
verbose_name_plural = _('custom field choice sets')
def __str__(self):
return self.name

View File

@@ -25,7 +25,8 @@ class Dashboard(models.Model):
)
class Meta:
pass
verbose_name = _('dashboard')
verbose_name_plural = _('dashboards')
def get_widget(self, id):
"""

View File

@@ -165,6 +165,8 @@ class Webhook(CustomFieldsMixin, ExportTemplatesMixin, TagsMixin, ChangeLoggedMo
name='%(app_label)s_%(class)s_unique_payload_url_types'
),
)
verbose_name = _('webhook')
verbose_name_plural = _('webhooks')
def __str__(self):
return self.name
@@ -284,6 +286,8 @@ class CustomLink(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
class Meta:
ordering = ['group_name', 'weight', 'name']
verbose_name = _('custom link')
verbose_name_plural = _('custom links')
def __str__(self):
return self.name
@@ -371,6 +375,8 @@ class ExportTemplate(SyncedDataMixin, CloningMixin, ExportTemplatesMixin, Change
class Meta:
ordering = ('name',)
verbose_name = _('export template')
verbose_name_plural = _('export templates')
def __str__(self):
return self.name
@@ -482,6 +488,8 @@ class SavedFilter(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
class Meta:
ordering = ('weight', 'name')
verbose_name = _('saved filter')
verbose_name_plural = _('saved filters')
def __str__(self):
return self.name
@@ -544,6 +552,8 @@ class ImageAttachment(ChangeLoggedModel):
class Meta:
ordering = ('name', 'pk') # name may be non-unique
verbose_name = _('image attachment')
verbose_name_plural = _('image attachments')
def __str__(self):
if self.name:
@@ -622,7 +632,8 @@ class JournalEntry(CustomFieldsMixin, CustomLinksMixin, TagsMixin, ExportTemplat
class Meta:
ordering = ('-created',)
verbose_name_plural = 'journal entries'
verbose_name = _('journal entry')
verbose_name_plural = _('journal entries')
def __str__(self):
created = timezone.localtime(self.created)
@@ -677,6 +688,8 @@ class Bookmark(models.Model):
name='%(app_label)s_%(class)s_unique_per_object_and_user'
),
)
verbose_name = _('bookmark')
verbose_name_plural = _('bookmarks')
def __str__(self):
if self.object:
@@ -707,6 +720,8 @@ class ConfigRevision(models.Model):
class Meta:
ordering = ['-created']
verbose_name = _('config revision')
verbose_name_plural = _('config revisions')
def __str__(self):
return f'Config revision #{self.pk} ({self.created})'

View File

@@ -4,6 +4,7 @@ from functools import cached_property
from django.db import models
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from core.choices import ManagedFileRootPathChoices
from core.models import ManagedFile
@@ -42,6 +43,8 @@ class ReportModule(PythonModuleMixin, JobsMixin, ManagedFile):
class Meta:
proxy = True
verbose_name = _('report module')
verbose_name_plural = _('report modules')
def get_absolute_url(self):
return reverse('extras:report_list')

View File

@@ -4,6 +4,7 @@ from functools import cached_property
from django.db import models
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from core.choices import ManagedFileRootPathChoices
from core.models import ManagedFile
@@ -42,6 +43,8 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile):
class Meta:
proxy = True
verbose_name = _('script module')
verbose_name_plural = _('script modules')
def get_absolute_url(self):
return reverse('extras:script_list')

View File

@@ -51,6 +51,8 @@ class CachedValue(models.Model):
class Meta:
ordering = ('weight', 'object_type', 'object_id')
verbose_name = _('cached value')
verbose_name_plural = _('cached values')
def __str__(self):
return f'{self.object_type} {self.object_id}: {self.field}={self.value}'

View File

@@ -41,6 +41,8 @@ class Branch(ChangeLoggedModel):
class Meta:
ordering = ('name',)
verbose_name = _('branch')
verbose_name_plural = _('branches')
def __str__(self):
return f'{self.name} ({self.pk})'
@@ -89,6 +91,8 @@ class StagedChange(ChangeLoggedModel):
class Meta:
ordering = ('pk',)
verbose_name = _('staged change')
verbose_name_plural = _('staged changes')
def __str__(self):
action = self.get_action_display()

View File

@@ -50,6 +50,8 @@ class Tag(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel, TagBase):
class Meta:
ordering = ['name']
verbose_name = _('tag')
verbose_name_plural = _('tags')
def get_absolute_url(self):
return reverse('extras:tag', args=[self.pk])
@@ -75,3 +77,5 @@ class TaggedItem(GenericTaggedItemBase):
class Meta:
indexes = [models.Index(fields=["content_type", "object_id"])]
verbose_name = _('tagged item')
verbose_name_plural = _('tagged items')