SharePointCommunity
Die deutschsprachige SharePoint Community für SharePoint 2013, 2010, Office 365 und Yammer


Der „nach“-Bug in den Ankündigungen

Blogs

Fabian´s Blog [SharePoint MVP]

Syndication

Vor einigen Jahren hatte ich über einen Bug in SharePoint 2007 berichtet, der sich darin auswirkt, dass beim Webpart der Ankündigung vor dem Nutzer anstelle des Begriffs „von“ die fehlerhafte Übersetzung „um“ erscheint. Die Ursache war damals eine fehlerhafte Ressource. Konsequenter Weise tritt ein ähnliche Fehler auch in SharePoint 2010 auf, nur diesmal mit dem Begriff „nach“.

image

Die Ursache ist ein vermutlich fehlerhaft adressierter String in der Standard-Transformation der Ankündigungen. Was genau passiert dort?

Im Schema der Ankündigungen (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\AnnouncementsList\Announce\schema.xml) befindet sich die View für die betroffene Übersichtsansicht.

   1: <View BaseViewID="3" FreeForm="TRUE" Type="HTML" TabularView="FALSE">
   2:         <XslLink>main.xsl</XslLink>
   3:         <ViewHeader><HTML><![CDATA[<table width="100%" 

Hierin kann man erkennen, dass für die Transformation die main.xsl geladen wird, sie sich wiederum im Verzeichnis der Standard-XSL-Transformationen befindet (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\XSL). Ein genauer Blick in die Datei offenbart, dass weitere Transformationen geladen werden, unter anderem jene, die für die Ankündigungen zuständig ist: vwstyles.xsl.

Navigiert man nun in die Zeile 1287 (hier: 19), findet man die Ursache für das fehlerhafte „nach“.

   1: <td width="80%" class="ms-vb" style="padding-bottom: 3px">
   2:        <span class="ms-announcementtitle">
   3:          <a onfocus="OnLink(this)"
   4:             href="{$FORM_DISPLAY}&amp;ID={$thisNode/@ID}"
   5:             onclick="GoToLink(this);return false;" target="_self">
   6:            <xsl:value-of select="$thisNode/@Title"/>
   7:          </a>
   8:          <xsl:if test="$thisNode/@Created_x0020_Date.ifnew='1'">
   9:            <xsl:call-template name="NewGif">
  10:              <xsl:with-param name="thisNode" select="$thisNode"/>
  11:            </xsl:call-template>
  12:          </xsl:if>
  13:          <xsl:call-template name="FieldRef_Attachments_body">
  14:            <xsl:with-param name="thisNode" select="$thisNode"/>
  15:          </xsl:call-template>
  16:          <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
  17:        </span>
  18:        <br />
  19:        <xsl:value-of select="$Rows/@resource.wss.searchresults_by"/>
  20:        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
  21:        <xsl:value-of disable-output-escaping="yes" select="$thisNode/@Author.span"/>
  22:      </td>

In der Transformation wird eine Ressource aus der Datei wss.de-DE.resx referenziert (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\Resources), die tatsächlich auch den String „nach“ enthält.

image

Ich vermute nun, dass an dieser Stelle die Referenzierung der Ressource searchresults_by nicht korrekt ist und stattdessen der Schlüssel „2000“ aus der Datei core.de-DE.resx referenziert werden müsste.

Wir kann nun dieser Fehler korrigiert werden?

  1. Änderung der XST-Transformation. Halte ich für nicht besonders klug, da diese Datei durch ein Update ggf. überschrieben werden könnte. Außerdem ist die Modifizierung von Dateien im Layouts-Verzeichnis in der Regel von Microsoft nicht supported.
  2. Anpassung des XsltListViewWebparts über den SharePoint Designer. Dazu muss die betroffene Seite mit dem SharePoint Designer geöffnet werden. Der Fehler wird korrigiert, indem man die Zeile <xsl:value-of select="'nach'"/> durch den String <xsl:value-of select="'von'"/> ersetzt.
  3. JQuery. Vermutlich die eleganteste Variante. Folgender Query-Methode führt die gewünschte Änderung durch:
   1: $('td.ms-vb:contains("nach")').html($('td.ms-vb:contains("nach")').html().replace('nach','von')); 

Sollte es für den Bug ein Patch geben, werde ich die Info an dieser Stelle posten.


Bereitgestellt 11 Okt 2011 12:00 von Fabian Moritz
Gespeichert unter: , ,

Kommentare

Henning Eiben geschrieben re: Der „nach“-Bug in den Ankündigungen
on 11 Okt 2011 18:15

Wenn das doch nur der einzigste Fehler in den Übersetzungen wäre (naja, ganz falsch ist die Übersetzung ja nicht, es kommt ja auf den Kontext an).

Unterhaltsam finde ich im SPD auch die Übersetzung von "edit operation" (bei externen Content-Types) mit "Bearbeitungsvorgang".

Oder im OWA von Exchange 2010 gibt es einen Link direkt zur SharePoint "My Site" (-> auf deutsch "Mein Standort"). Nicht falsch, und auf jeden Fall unterhaltsam.

Und ich möchte erst gar nicht mit dem Begriff "Gestaltungsvorlage" beginnen. Das hat sich Microsoft doch bestimmt ausgedacht. Oder der Babelfisch. Das ist doch niemals ein Wort!

Aber das sind nur mein 2 Cents.