I had a problem with UIInput not working with localized text, because mDefaultText was still set to the pre-localized value. I fixed it by making UIInput.Init() public, and adding the following lines to the bottom of UILocalize.OnLocalize:
UIInput parentInput = transform.parent.GetComponent<UIInput>();
if (parentInput) parentInput.Init();
I thought I'd leave this here in case this helps anyone else, or if there's a better solution someone can point me to.