Thank you for your reply.
Yes, it is a strange issue. But I am very sure about it, and confirmed again and again.
To make it clear, I try to organize my words again as follows:
------
For example, in an old release of my plugin, I added an item menuitem called "Test" in my plugin, which corresponds to the command Zotero.getMainWindow().alert("Hello").
AND, in a newer release of the plugin, I change the command to Zotero.getMainWindow().alert("Hello bro")
1. First, I install the newer plugin, and restart Zotero.
2. When I click the "Test" menuitem, it still alert "Hello", not "Hello bro".
3. Try to restart Zotero again, nothing changed.
3. Then I change the language of Zotero (e.g. from English to Chinese), then restart Zotero.
4. Now, when I click the "Test" menuitem, it alert "Hello bro", as expected.
5. Then I modify the command to Zotero.getMainWindow().alert("Hello my bro"), and install the plugin and restart Zotero.
6. Same issue happens, it still alert "Hello bro", not "Hello my bro".
7. AND It works normally when I change the Zotero language back to English.
According to above steps, I am sure the Zotero language changes will influence the bootstrap plugin lifecycle methods, which is also found by myself in other Zotero 7 plugin.
Hope the issue report is clear. Thank you.
Ps: my testing environment is the lasted macOS Ventura + Zotero 7.