J'utilise un fichier XSL pour faire le rendu d'un webpart ASP.NET que je fait, mais maintenant je veux localiser les chaînes à l'intérieur de ce fichier XSL:Ajout localisation à 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>
Dans le ci-dessus exemple je veux localiser "Nom du projet". La langue dans laquelle je travaille est C# et c'est l'extrait que je l'utilise pour transformer:
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);
Est-il possible de faire la localisation via des fichiers de ressources (.resx) dans ce fichier XSL? Dans le reste de mon projet, je suis en utilisant la ligne suivante pour insérer des chaînes localisées:
HttpContext.GetGlobalResourceObject(resourceName, resourceKey).ToString();
Meilleures salutations,
Jeroen
Je veux vraiment utiliser un seul fichier XSL pour éviter les frais inutiles + c'est comme ça que tout fonctionne dans SharePoint. Exemple de XML SharePoint (quelque chose que je voudrais réaliser, où toutes les ressources $: xxx; sont remplacées par leur traduction respective): Xml version = "1.0" encoding = "utf-8"?> < Titre du projet = "$ Resources: onet_TeamWebSite;" Revision = "2" ListDir = "$ Ressources: core, lists_Folder;" xmlns: ows = "Microsoft SharePoint"> Est-ce que le seul moyen serait de faire une sorte de recherche avec regex, puis de le remplacer? –
Très probablement, cela peut être fait bien, mais vous devez mettre un exemple plus complet (formaté) dans votre question. Veuillez indiquer quel est le principal problème: organise-t-il les définitions des termes et leurs traductions dans plusieurs langues? Ou est-ce la construction du nom de fichier approprié? S'il vous plaît soyez aussi précis que possible. –