最 近在参与一个自动化测试工具的开发, 由于这个部门涉及到I18N的测试, 所以写的测试工具肯定也会遇到好多I18N的问题, 最近的开发过程中就遇到了这个问题, 在工具开发中, 需要获得当前系统磁盘的一些信息,比如说磁盘id, 磁盘号等, 开始的时候是通过windows自带的小工具diskpart来实现的,根据输出的信息来进行正则表达式匹配, 这里肯定是默认的都用英文来进行正则表达式的匹配的, 后来遇到的问题是在日文下输出的是日语, 这样肯定不能用英文来进行匹配了,所以就想到改变输出的codepage, 通过命令chcp 437将所有的输出语言都设置为英文, 这个命令应该是在所有语言的os下都通用的, 但是在实际中像波兰、捷克、俄语等windows os这个命令并不生效(难道这个是Microsoft的一个bug?), 这样我花费了将近一个礼拜的时间也没有解决这个问题, 最后绝对改变方式, 不用正则表达式的匹配了通过其他不涉及本地化语言的方式来实现, 比如我只是进行比对, 并不考虑比对的是什么东西。只要逻辑上满足我的要求就行了, 转变思路后很短的时间久解决了, 这个问题上感觉自己有些钻牛角尖了, 这个也表明在涉及到i18n的开发中要慎用正则表达式。。。
开发中i18n问题
最新推荐文章于 2021-02-23 17:25:02 发布