关于Label多语言的一点建议

在处理Label,RichLabel多语言的时候,往往会自己增加一个Localize控件。但多语言一般是在项目后期开始进行,这个时候需要对项目中所有Label,RichLabel的地方再增加Localize控件,这个其实也算没什么。但接下来的问题,就有点尴尬了,因为UI的Prefab引用的都是Label,RichLabel,然后改文本的时候都是调用.string进行赋值,但多语言的时候,是需要翻译,所以一般情况下只能把原来Prefab中所有引用Label,RichLabel的地方全部改成引用Localize,然后由Localize进行翻译。这中间的改动确实令人沮丧。
我看了Label的源码,string的setter函数中除了赋值还有其它逻辑调用,让我难以下手,我没能找到对于一个setter进行拦截的方法。可否请官方做一下调整:
第一个方法:提供Label的string修改before回调,类似以下函数:(value:string)=>string。在Label的字符串被修改之前回调,把新的字符串当参数,然后使用返回的字符串。
第二个方法:把string的setter的所有逻辑提到一个函数,比喻叫SetString(value:string),setter还是保留,只不过setter就是再调用了SetString函数,这样,我就可以通过函数拦截的方法,对Label的SetString进行修改。

2赞