fix(i18n): 将菜单文字翻译延迟到渲染时执行,修复语言切换后仍是英文的问题

PanelInfo 构造时调用 tr() 只会在模块加载时(默认 en)执行一次,
后续语言切换后 panel_info.name 不会自动更新。
将 NavButton._render() 中对 self.panel_info.name 的引用改为
tr(self.panel_info.name),在每次渲染时实时翻译。
This commit is contained in:
mawei
2026-06-03 09:57:03 +08:00
parent b2f5adc98f
commit 026d0a5e48
@@ -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