首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Struts2 i18n -是否可以轻松查看丢失的翻译?

Struts2 i18n -是否可以轻松查看丢失的翻译?
EN

Stack Overflow用户
提问于 2012-10-04 23:57:46
回答 2查看 184关注 0票数 0

我使用struts2属性文件来提供对多种语言的支持,这很好用。

总是很容易忘记一些硬编码在一些JSP中的文本,或者没有正确翻译的错误。

例如,有没有一种简单的方法可以通过用"ZZZ“替换所有翻译的项目来可视化这一点,因此我们只能看到没有提供翻译的地方?

一个想法是以某种方式动态地(在运行时)将属性文件中的所有文本项替换为"ZZZ“-有没有简单的方法可以做到这一点?我的意思是覆盖所有翻译的项目(不涉及文件本身,只是在内存中)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-05 00:06:17

我们只需创建一个属性文件,并将其值设置为类似于?es_firstNameLabel等值,然后将语言环境设置为使用该属性文件。然后你在你的应用程序中查找英语(或者你的母语是什么)。它是丑陋的,但这是好的--它应该是丑陋的,这样你的东西就更容易显示出来。

不幸的是,没有真正简单的方法来自动化检查部分,你只需要一个接一个地回归你的页面。

当一切就绪后,您可以返回并开始用适当的值替换?es_propertyLabel内容,这样,当您开始创建新的语言条目时,它就可以很好地工作。

票数 0
EN

Stack Overflow用户

发布于 2012-10-05 01:20:28

您所指的是一个称为伪构建的概念。通常将前缀和后缀添加到资源字符串(属性文件中的值)并测试应用程序的错误,而不是替换。

不幸的是,这只会给出硬编码字符串缺陷的子集,因为几乎没有办法测试所有可能的执行路径。当然,在测试过程中很容易省略alt和title属性的内容--你可能很难注意到这个问题。

老实说,没有简单的方法来发现代码中的i18n错误。为了做到这一点,你可能需要运行一些商业工具,比如Globylizer,或者开发自己的工具。如果你只关注硬编码的字符串(坦率地说,这只是问题的一部分),你可能会破解一些正则表达式来找到开始和结束标记之间的文本,如果它不像<s:text>或任何你用于翻译的东西,那么就会归档一个缺陷。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12731157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档