According to the Plugin tutorial, I can define strings for my GUI either by putting the text in the control's XML (<label>The string</label>), or by specifying a string Id within strings.xml (<label>73</label>).
Are these the only options? Obviously, the former method means that translations won't be possible, and the latter means the user has to mess with their strings.xml(s) when installing the plugin; neither of these is really satisfactory...
Likewise for keymap.xml - I want to override the default actions for some (most!) keys (only for my plugin, of course), but the only way I've found to make this work is for the user to manually cut-and-paste a section into keymap.xml for my plugin's GUI; again, this seems heavy-handed, and makes un/re-installing the plugin rather problematic. Also, each time the user upgrades or reinstalls MP, they will have to go through the same painful process again.
It'd be nice if I could define <keys>...</keys> in the gui xml, and possibly have multiple <string></string> entries (one for each language, maybe defaulting to the first if the user-selected language is not found)...
Or have I just missed the obvious, already present way to do these things? Given that my C# is fairly elementary so far this wouldn't surprise me...
Are these the only options? Obviously, the former method means that translations won't be possible, and the latter means the user has to mess with their strings.xml(s) when installing the plugin; neither of these is really satisfactory...
Likewise for keymap.xml - I want to override the default actions for some (most!) keys (only for my plugin, of course), but the only way I've found to make this work is for the user to manually cut-and-paste a section into keymap.xml for my plugin's GUI; again, this seems heavy-handed, and makes un/re-installing the plugin rather problematic. Also, each time the user upgrades or reinstalls MP, they will have to go through the same painful process again.
It'd be nice if I could define <keys>...</keys> in the gui xml, and possibly have multiple <string></string> entries (one for each language, maybe defaulting to the first if the user-selected language is not found)...
Or have I just missed the obvious, already present way to do these things? Given that my C# is fairly elementary so far this wouldn't surprise me...