我创建几个字符串消息WebResources.resx文件我想分类:

Signup_Status_Inactive Signup_Status_Reserved 等...

由于它在后台只是一个XML文件,是有可能创造的父/子关系,所以我没有前缀字符串相关的,并按照一个更好的点符号?

要解决这个问题,我可以创建一个类的一些特性通过适当的点符号,即StatusMessages.Signup.Inactive访问 - 但是这只是额外的工作。

是否有只有一个电平到.resx文件的?

的字符串分量

此外,你怎么输出会话变量作为RESX价值的一部分 - 即: “您的卡编号的” + HttpContext.Current.Session [ “ReservedCardNum”] + “的已预留给你。”

感谢。

有帮助吗?

解决方案

在.resx文件所有按键都是单级,但是没有什么使用自己的XML格式阻止你,只要你编写代码来读它,这是需要任何工具维持它。


要输出会话变量,我会用的String.Format()

通常你会写

String.Format(“"Your Card #{0}  has been reserved for you.", 
              HttpContext.Current.Session["ReservedCardNum"])

因此,只要代替只是使用

String.Format(stringLookedFromResouceFile, 
              HttpContext.Current.Session["ReservedCardNum"])

和把“{0}”经翻译的字符串中,这样,翻译者可以根据需要改变的单词的顺序。


想想你将如何传达给翻译一下占位符,如果译者使用,显示注释字段资源编辑器,你可以添加这样的评论“{0} =用户名”

您也必须以某种方式检查翻译不要弄乱的地方持有人,我所看到的翻译更改“{0}”到“(0)”,因为他们“认为其他种类的括号更好看”等等!或删除蕨菜之一因此字符串格式将不再有效。

如何验证格式字符串

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top