Not quite. The _() macro uses wxT() internally, so _(wxT(...)) will cause errors in a unicode build. You should just do e.g. _("This is a user-visible string and so needs to be translated.").I think simply change all the wxT(...) into _(wxT(...)) would resolve this issue.
However if you look at the code you'll find lots of strings that are already wrapped in _(). Some may have been missed, but almost all of the ones that use wxT() do so because they are wx or CodeLite internally-used 'names', and aren't messages to the user. Using _() on those will achieve nothing good, and causes two problems:
- It makes translators try to translate them, which wastes their time
It may occasionially cause bugs: if CodeLite tries to load something named "Debugger pane", and that string has been translated, there's a risk that the item won't be loaded successfully (either because some instances were wrapped in _() and others not, or because the label was serialised in an English locale and so won't be found in a Chinese one.
Regards,
David