资源和本地化 - 父/子字符串.resx文件?
-
12-09-2019 - |
题
我创建几个字符串消息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)”,因为他们“认为其他种类的括号更好看”等等!或删除蕨菜之一因此字符串格式将不再有效。
不隶属于 StackOverflow