我使用XSL文件做一個ASP.NET的WebPart,我做的渲染,但現在我要本地化該XSL文件中的字符串:添加本地化XSLT
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:siteInfo="urn:siteInfo" version="1.0">
<xsl:output method="html" omit-xml-declaration="no"/>
<xsl:template match="*|/">
<p>
Project name: <xsl:value-of select="siteInfo:GetProjectName()"/>
</p>
在上面的例子我想本地化「項目名稱」。 所使用的語言,我的工作是C#,這是我使用的轉化片段:
XslCompiledTransform transformationEngine = new XslCompiledTransform();
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = CredentialCache.DefaultNetworkCredentials;
transformationEngine.Load(XslUrl, new XsltSettings(true, true), resolver);
XsltArgumentList args = new XsltArgumentList();
args.AddExtensionObject("urn:siteInfo", siteInfo);
transformationEngine.Transform(xmlDocument, args, ms);
是否有可能做到通過資源(RESX)文件定位在XSL文件?在我的項目的其餘部分我使用下面的行插入本地化字符串:
HttpContext.GetGlobalResourceObject(resourceName, resourceKey).ToString();
親切的問候,
的Jeroen
我真的只想使用一個XSL文件來避免不必要的開銷+這是一切在SharePoint中工作的方式。 示例SharePoint XML(我想實現的,其中所有$ Resources:xxx;將被其各自的翻譯所替換): <?xml version =「1.0」encoding =「utf-8」?> < Project Title =「$ Resources:onet_TeamWebSite;」 Revision =「2」ListDir =「$ Resources:core,lists_Folder;」 xmlns:ows =「Microsoft SharePoint」> 唯一的方法是用正則表達式進行某種搜索,然後替換它? – 2010-06-22 13:44:14
很可能這可以做得很好,但你需要在你的問題中提供一個更完整的例子(格式)。請說明什麼是主要問題 - 是否組織術語的定義以及翻譯爲多種語言?或者是構建適當的文件名?請儘可能具體。 – 2010-06-22 14:33:21