fix(i18n): 将菜单文字翻译延迟到渲染时执行,修复语言切换后仍是英文的问题
PanelInfo 构造时调用 tr() 只会在模块加载时(默认 en)执行一次, 后续语言切换后 panel_info.name 不会自动更新。 将 NavButton._render() 中对 self.panel_info.name 的引用改为 tr(self.panel_info.name),在每次渲染时实时翻译。
This commit is contained in:
@@ -71,7 +71,7 @@ class NavButton(Widget):
|
||||
is_selected = self.panel_type == self.parent._current_panel
|
||||
text_color = OP.TEXT_SELECTED if is_selected else OP.TEXT_NORMAL
|
||||
content_x = rect.x + 90
|
||||
text_size = measure_text_cached(self.parent._font_medium, self.panel_info.name, 65)
|
||||
text_size = measure_text_cached(self.parent._font_medium, tr(self.panel_info.name), 65)
|
||||
|
||||
# Draw background if selected
|
||||
if is_selected:
|
||||
@@ -90,7 +90,7 @@ class NavButton(Widget):
|
||||
content_x,
|
||||
rect.y + (OP.NAV_BTN_HEIGHT - text_size.y) / 2
|
||||
)
|
||||
rl.draw_text_ex(self.parent._font_medium, self.panel_info.name, text_pos, 55, 0, text_color)
|
||||
rl.draw_text_ex(self.parent._font_medium, tr(self.panel_info.name), text_pos, 55, 0, text_color)
|
||||
|
||||
# Store button rect for click detection
|
||||
self.panel_info.button_rect = rect
|
||||
|
||||
Reference in New Issue
Block a user