I18n: Fix lighting preferences error messages

While the current situation sort of works, a proper translation cannot
be achieved in every language. Separate messages for each lighting
type.
This commit is contained in:
Damien Picard 2022-08-22 15:33:39 +02:00 committed by Bastien Montagne
parent 4ad471d67f
commit 0b2be4fbc3
1 changed files with 18 additions and 3 deletions

View File

@ -5,8 +5,11 @@ from bpy.types import (
Menu,
Panel,
)
from bpy.app.translations import pgettext_iface as iface_
from bpy.app.translations import contexts as i18n_contexts
from bpy.app.translations import (
contexts as i18n_contexts,
pgettext_iface as iface_,
pgettext_tip as tip_,
)
# -----------------------------------------------------------------------------
@ -2090,7 +2093,10 @@ class StudioLightPanelMixin:
for studio_light in lights:
self.draw_studio_light(flow, studio_light)
else:
layout.label(text=iface_("No custom %s configured") % self.bl_label)
layout.label(text=self.get_error_message())
def get_error_message(self):
return tip_("No custom %s configured") % self.bl_label
def draw_studio_light(self, layout, studio_light):
box = layout.box()
@ -2117,6 +2123,9 @@ class USERPREF_PT_studiolight_matcaps(StudioLightPanel, StudioLightPanelMixin, P
layout.operator("preferences.studiolight_install", icon='IMPORT', text="Install...").type = 'MATCAP'
layout.separator()
def get_error_message(self):
return tip_("No custom MatCaps configured")
class USERPREF_PT_studiolight_world(StudioLightPanel, StudioLightPanelMixin, Panel):
bl_label = "HDRIs"
@ -2127,6 +2136,9 @@ class USERPREF_PT_studiolight_world(StudioLightPanel, StudioLightPanelMixin, Pan
layout.operator("preferences.studiolight_install", icon='IMPORT', text="Install...").type = 'WORLD'
layout.separator()
def get_error_message(self):
return tip_("No custom HDRIs configured")
class USERPREF_PT_studiolight_lights(StudioLightPanel, StudioLightPanelMixin, Panel):
bl_label = "Studio Lights"
@ -2139,6 +2151,9 @@ class USERPREF_PT_studiolight_lights(StudioLightPanel, StudioLightPanelMixin, Pa
op.filter_glob = ".sl"
layout.separator()
def get_error_message(self):
return tip_("No custom Studio Lights configured")
class USERPREF_PT_studiolight_light_editor(StudioLightPanel, Panel):
bl_label = "Editor"