我正在为我的网站添加对多语言的支持。我发现我的渲染器中有很多地方都有硬编码的字符串,我需要解决它。
我似乎有几种不同的修复方法......一种是使用标准的.NET方法并将字符串存储在资源文件中。我不喜欢这个,因为我的Sitecore翻译无法达到这一点......而且因为我不认为Sitecore默认设置文化?我相信ASP.NET是如何知道资源文件中使用哪种语言的。
另一种选择是在我的Sitecore模板中为所有这些字符串添加字段,以便内容编辑器中的翻译人员可以看到它们。但这似乎是一个巨大的麻烦...有许多地方我不得不更新我的模板只是为了存储UI元素字符串。
是否还有其他Sitecore支持的选项?建议?我们目前正在使用v6.2。
答案 0 :(得分:6)
我认为您应该看一下使用Sitecore字典和/或令牌替换。我自己没有玩过它,但我认为它可以做你需要做的工作。
请参阅重复使用数据指南的第12页。
http://sdn.sitecore.net/upload/sitecore6/sc62keywords/reusing_and_sharing_data_sc62_a4001.pdf
我想你也可以使用Sitecore语言参数显式设置文化并使用它来访问.net资源文件。资源文件本身可以通过Sitecore字典的Sitecore呈现来生成。这样你就可以让编辑和翻译人员访问字符串进行本地化,并使用开箱即用的ASP.Net将它们带入你的渲染中。