最近用ABP框架开发,遇到许多坑,而且搜索的时候资源非常少,要么有,但讲的乱糟糟,要么没有有用的信息,很多都得自己解决,本着互助的原则,我会把遇到的坑以及解决办法写出了,方便以后查阅以及帮助后来人。
首先ABP是支持多语言的,而且资源文件也很好找,我用的是ABP6的版本,根据官方文档我们可以使用XML或者JSON文件来存放多语言资源,如下图:
我们可能遇到删除以及添加语言的功能,这时候,不要以为删除了文件就完事了,你删了也没啥用,还是会列出来,没办法我看了ABP的源码,才知道这个时候你需要找到数据库,找到language的表,把不要的语言disable设成True就行了。这时候你不要的就没了,但新加怎么办,我又看了源码发现它用的是ISO366x的国家代码,我要添加的是越南语,然后我新建了-vn的文件,然后我前台怎么也取不到,一直报错,然后我想到了vn或许是国家,那语言呢,我又翻了ISO,发现它居然是vi,如图中所示,我改成了vi,运行一看,终于出来了,高兴了半天,发布吧,居然还不好使,我有点无语了,这破东西折腾了大半天,发布还是不好使,我有点怀疑我的智商了,还好,睡了一觉,智商回来了那么一点点,我反编译了我的文件,没错,是我自己的dll,尼玛居然还是vn,终于被我抓住了原来是缓存在作祟,这就好办了,删了重新加一下,完美解决。
同学们,读源码的重要性,大家学到了吗?