现象如下,当用户进入到Prompt for Device Ownership Type页面的时候,本该出现的radio button和dropdown list都不翼而飞,落了片白茫茫大地真干净……
这里需要注意的是,红框上部的中文文字读取和显示完全正确,所以即便不读代码,逻辑上我们应该也能预判出,这应该不是本地化人员或loading string的锅,无谓的后场倒脚还是能免则免吧。
所以还是直接找到负责该页面的dev问问他的看法吧。一番你来我往后,dev对该问题的总结如下:
- 该部分数据类型不是string而是enum
- 该部分数据来自agent和console而不是APP的资源文件
- 在Combo box中的两个string未被打包进resource.resx文件中
再次回溯到问题的本源和良药,发现了这样的代码段。
我们发现dev在这里想当然的认为了所有版本的Employee字段都会包含Employee,导致一旦ownership中不包含Employee,那么ShowEmployeeOwned = false。 另外我们可以做个的假设,如果中文的ownership叫做“员工-Employee”而不是单纯的中文“员工”,那么经过本地化的中文版app的该页面,ShowEmployeeOwned则会显示正常,经过验证,果然如此。
面对此种现象,个人的总结的“武断”经验如下:只要代码中包含了contains方法,同时该方法的参数又是一个静态的string,此时请务必打起十二分的精神,瞪大双眼,这里将会引入一个本地化版本软件缺陷,测试人员不用再对各个语言分别进行验证,直接 bug即可。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!