Two ways I've used (but not with ideographic languages, only with alphabetic languages) are:
A Sub that will measure and resize the text of a button to make it fit.
Button texts to have a double translation (I use a pipe symbol to separate them inside a single string):
-a short one to fit reasonably on the button, to act as a memory jogger
-a long one to be a tooltip, for if the memory is not jogged