Aegisub crashes with a bad cast exception immediately when attempting to open the Shift Times dialog from the Video menu.
After some debugging, I found that this is strictly caused by a localized translation file issue. The crash only occurs when the UI language is set to Traditional Chinese (zh_TW). Other languages work perfectly fine without any crashes.
To Reproduce
- Set Aegisub's UI language to
中文(台灣).
- click timing (計時) > Shift Times (平移時間).
Aegisub throws a bad cast exception.
Expected behavior
The "Shift Times" dialog should open normally without crashing, just as it does in other languages.
Additional context & Investigation
I did some cross-testing with the .po / .mo files:
- The crash is 100% related to
zh_TW/aegisub.mo.
- I replaced the
zh_TW/aegisub.mo file with the zh_CN one, and the crash disappeared.
- I ran
msgmerge to align the original zh_TW.po file with the zh_CN.po file (to fix out-of-sync msgids and structure issues), and recompiled it into a .mo file. After replacing the old .mo with this newly merged one, the crash was completely resolved.
Aegisub crashes with a bad cast exception immediately when attempting to open the Shift Times dialog from the Video menu.
After some debugging, I found that this is strictly caused by a localized translation file issue. The crash only occurs when the UI language is set to Traditional Chinese (
zh_TW). Other languages work perfectly fine without any crashes.To Reproduce
中文(台灣).Aegisub throws a bad cast exception.
Expected behavior
The "Shift Times" dialog should open normally without crashing, just as it does in other languages.
Additional context & Investigation
I did some cross-testing with the .po / .mo files:
zh_TW/aegisub.mo.zh_TW/aegisub.mofile with thezh_CNone, and the crash disappeared.msgmergeto align the originalzh_TW.pofile with thezh_CN.pofile (to fix out-of-sync msgids and structure issues), and recompiled it into a.mofile. After replacing the old.mowith this newly merged one, the crash was completely resolved.