CSSCurrent de:Sprachen installieren und anpassen: Unterschied zwischen den Versionen

Aus Cryptshare Documentation
Wechseln zu:Navigation, Suche
Zeile 233: Zeile 233:
[[File:message_new_html.png]]
[[File:message_new_html.png]]


Die Texte wurden nun komplett durch Platzhalter ersetzt welche nun in der conf.properties stehen:
Die Texte stehen nun komplett in der conf.properties:


[[File:conf.properties_download_summary.png]]
[[File:conf.properties_download_summary.png]]

Version vom 23. November 2021, 09:39 Uhr



Über Neuanlage und Modifikation von Sprachpaketen

Sie haben die Möglichkeit, die Sprachressourcen auf Ihrem Cryptshare Server nach Ihren Wünschen zu modifizieren. Dabei können Sie sowohl die im Lieferumfang enthaltenen Sprachpakete ändern, als auch selbst erstellte Sprachpakete hinzufügen, um die Benutzeroberfläche von Cryptshare in weiteren Sprachen zu präsentieren, die nicht durch den Lieferumfang abgedeckt sind.

Sprachpakete und Server-Updates
Bitte beachten Sie, dass die Update-Routinen für den Cryptshare Server auf dem Server befindliche Sprachpakete durch neuere Versionen überschreiben können. Dies ist immer dann der Fall, wenn die zu installierende Server-Version neue Funktionen beinhaltet, für die zusätzlich Sprachressourcen zur Darstellung erforderlich sind.Vor jedem Update wird jedoch automatisch ein Backup der bisherigen Version Ihres Cryptshare Servers durchgeführt. Dabei werden auch die Sprachpakete gesichert. Eventuell von Ihnen durchgeführte Änderungen sind also nicht verloren. Sie müssen jedoch manuell aus der gesicherten Version des alten Sprachpaketes entnommen und entsprechend in die neue Version des Sprachpaketes eingepflegt werden.Sie finden Backups im Unterordner "backup" Ihres Cryptshare Server Programmverzeichnisses. Öffnen Sie das zip-Archiv des Backups, aus dem Sie die Dateien wiederherstellen möchten und navigieren Sie in den Ordner system\resources\lang.


Language Packs and Date Formats
Bitte beachten Sie, dass die Datumsformate für Java Daten ("server/administration/Administration" und "server/application/Cryptshare") und JS Daten ("server/common/CSDatePicker") kompatibel sein müssen. Details finden Sie in der Dokumentation für Java und JS


Voraussetzungen

Grundsätzlich ist es ausreichend, nur die Dateien in das Sprachpaket aufzunehmen, deren Inhalte verändert werden soll (bspw. zum Zweck der Übersetzung). Falls bei der Darstellung ein Element im zugehörigen Sprachpaket nicht gefunden werden kann, wird das entsprechende Element aus dem Fallback-Sprachpaket gezogen.

Ferner müssen die folgenden Voraussetzungen erfüllt werden:

Datei)(en)

Voraussetzung

version.xml Die Codierung der Datei muss UTF-8 ohne BOM sein.
Alle Dateien

Die Dateinamen dürfen keinen Sprachcode enthalten.
<*.properties> Codierung muss ISO-8859-1 sein.
<*.html> Codierung muss UTF-8 ohne BOM sein.
Wenn nicht die oben genannten Codierungen verwenden werden, kann dies zu Fehlern in der Benutzeroberfläche und in E-Mail Benachrichtigungen führen. Daher wird emfpholen einen Editor zu verwendet, der diese Codierungen unterstützt. Der Windows-eigene Editor 'Notepad' unterstützt keine geeignete Codierung. Editoren, die die erforderlichen Codierungen anbieten, sind bspw.: Notepad++ oder PsPad


Paketbeschreibung (version.xml)

Installierte Sprachpakete werden anhand ihrer zugehörigen Paketbeschreibungs-Datei (version.xml) definiert und erkannt. Die Datei beschreibt die folgenden Details des Sprachpaketes:

  1. Version des Paketes
  2. Sprache, optional auch die Landeszugehörigkeit (ISO-639-1)
  3. Produktschlüssel für den das Paket geeignet ist.

Version des Sprachpaketes

Die Versionsnummern des Sprachpaketes bestehen aus einer Hauptversionsnummer und einer Unterversionsnummer: <Haupt>.<Unter>

Die Hauptnummer beschreibt die Kompatibilität mit dem Produkt für welches das Sprachpaket angelegt ist. Die Unternummer ist ein Zähler, der bei jeder Änderung an dem Sprachpaket hochgezählt wird.

Beispiel
Der Cryptshare Server v3.10 erfordert ein Sprachpaket mit der Hauptversion 4.0 oder höher.Tipp: Sie erzeugen ein eigenes Sprachpaket auf der Basis von unserem Sprachpaket Version 6.1. Setzen Sie die Versionsnummer 60.10 (Version * 10), damit Sie auch später noch erkennen können, welches Paket Ihre Vorlage war.Eigene VersionsnummerUm zu wissen, auf welchem Sprachpaket ihr angepasstes Sprachpaket basiert, können Sie die ursprüngliche Versionsnummer nehmen und die Hauptversionsnummer mit 10 multiplizieren: v6.1 --> v60.1


Sprachpaket Produkt-Schlüssel

Die Verwaltung der Sprachpakete unterscheidet zwischen Paketen für verschiedene Cryptshare Produkte. Dies ist insbesondere für die Generierung von E-Mail-Benachrichtigungen von Bedeutung, um verschiedene Benachrichtigung aus verschiedenen Produkten heraus erzeugen zu können. Zum Beispiel verwendet Cryptshare for Outlook zwei verschiedene E-Mail Vorlagen für Absender- und Empfängerbenachrichtigung.

Produktname Produktschlüssel
Cryptshare Server server
Cryptshare for Outlook client.outlook
Cryptshare for Notes client.notes
Cryptshare Robot client.robot
Cryptshare .NET API api.dotnet
Cryptshare Java API api.java
Klicken, um den XML Markup der Datei 'version.xml' anzuzeigen.<locale>
   <value key="vendor" type="string">[VENDOR]</value>
   <value key="version" type="string">[LANG_VERSION]</value>
   <value key="locale" type="string">[LANGUAGE]</value>
   <value key="product" type="string">[PRODUCT]</value>
</locale>


Klicken, um ein Beispiel einer Datei 'version.xml' anzuzeigen.<locale>
   <value key="vendor" type="string">Cryptshare AG</value>
   <value key="version" type="string">4.0</value>
   <value key="locale" type="string">de_DE</value>
   <value key="product" type="string">client.outlook</value>
</locale>


Struktur eines Sprachpaketes

Cryptshare Server

Ein Sprachpaket hat folgende Struktur:

Pfad Inhalt Erforderlich
version_<isocode>.xml Beinhaltet Meta-Daten über das Sprachpaket:
  • Paket-Sprache in der Form eines ISO-639-1 Codes
  • Paketversion: Versionen, die nicht unterstützt werden, werden vom Server nicht angenommen.
  • Produkt: Die Produktzugehörigkeit des Paketes.
Ja
administration -> <*.properties> Sprachressourcen für die Administrationsoberfläche. Nur benötigt, wenn eine Übersetzung der Administrationsoberfläche gewünscht ist.
web-app -> <*.properties> Sprachressourcen für die Benutzeroberfläche Nur erforderlich wenn eine Übersetzung der Benutzeroberfläche gewünscht ist.
web-common -> <*.properties> Ressourcen, die von der Benutzeroberfläche und der Administrationsoberfläche gemeinsam verwendet werden. Bei Anpassung entweder der Administrations- oder Benutzeroberfläche sollten diese Ressourcen ebenfalls angepasst werden.
system -> <*.properties> Ressourcen, die nicht nur direkt in der Benutzeroberfläche verwendet werden, z.B. auch in anderen Teilen der Anwendung (z.B. WSDL-Schnittstelle). Bei Anpassung welche nicht nur die Benutzeroberfläche betreffen, sollten diese Ressourcen ebenfalls angepasst werden.
mail -> mail_<isocode>.properties Enthält Textbausteine für E-Mail Benachrichtigungen. Ja
templates Enthält alle E-Mail Vorlagen, die für den Versand von E-Mail-Benachrichtigungen erforderlich sind. Ja, andernfalls wird das definierte Fallback Sprachpaket verwendet.

Änderungen an der Struktur der Spachpaketes (von Version 21 zu 22)

Das Struktur der Sprachpakete wurde mit Version 22 vereinfacht. Anstatt mehrere Properties-Dateien je Verzeichnis gibt es nun eine Property Datei je Bereich. Diese beinhaltet dann alle Properties aller Dateien, die vorher in dem Verzeichnis lagen.

Bei manchen Dateien wurden die Namen überarbeitet. So wurde was vorher unterhalb von "application" zu finden war in die web-app.properties verschoben und was unter "common" war befindet sich nun in "web-common.properties". Zusätzlich ist eine neue Datei "system.properties" hinzugekommen. Hierhin wurden bestimmte Properties verschoben, die nicht ausschließlich von der Oberfläche verwendet werden, sondern auch innerhalb der Anwendung (z.B. WSDL-Schnittstelle). Somit existieren nur noch Verzeichnisse für die Templates. Alle anderen Properties sind direkt über die jeweilige Datei auf oberster Ebene verfügbar.

Verzeichnisstruktur eines Cryptshare Server SprachpaketesTest (Version 21 und älter)
´´´
   │   administration
   │       Addon.properties
   │       ...
   │   application
   │       BasePage.properties
   │       ...
   │   common
   │       AbstractDropDown.properties
   │       ...
   │   mail
   │       mail.properties
   │   
   └───templates
´´´


Verzeichnisstruktur des aktuellen Cryptshare Server Sprachpaketes (Version 22 und neuer)
´´´
   │   administration.properties
   │   mail.properties
   │   system.properties
   │   version.xml
   │   web-app.properties
   │   web-common.properties
   │   
   └───templates
´´´


Beispiel Property alt/neu:

Name des Properties Version 21 Version 22
label.addon.clientID=Client ID Addon.properties im Ordner administration administration.properties
application.title=Cryptshare BasePage.properties im Ordner application web-app.properties
mail.heading.archivingFailed=Archiving Failed mail.properties im Ordner mail mail.properties

Änderungen an der Struktur der Templates (von Version 21 zu 22)

Die Templates wurden dahingehend überarbeitet, dass die HTML-Dateien ausschließlich strukturierende Elemente und Property-Keys enthalten und alle Texte in der jeweiligen "conf.properties" stehen. Somit muss bei der Anpassung der Texte nur noch eine Datei je Template überarbeitet werden. Zusätzlich kann in den Texten nun Markdown verwendet werden.

Beispiel downloadSummary message.html (alt)

Message old html.png

Beispiel downloadSummary message.html (neu)

Message new html.png

Die Texte stehen nun komplett in der conf.properties:

Conf.properties download summary.png

Zusätzlich werden in der HTML-Datei Funktionen verwendet, um aus dem Text falls er in Markdown geschrieben ist HTML zu erzeugen.

Funktion Erklärung
$render.eval(text) Wenn der Text selbst Variablen enthält, dann wird diese Funktion benötigt, um die Variablen durch die echten Werte zu ersetzen.
$esc.html(text) Diese Funktion entfernt bestimmte Zeichen, um zu verhindern, dass das resultierende HTML Elemente enthält, die ein Angreifer nutzen kann, um Schaden anzurichten.
$md.toHtmlInline(text) Erzeugt HTML aus dem Markdown-Text. Dabei wird der umschließende Paragraph und das letzte Zeilenumbruch entfernt, falls vorhanden.
$md.toHtml(text) Erzeugt HTML aus dem Markdown-Text.

Cryptshare for Outlook

Pfad Inhalt Erforderlich
version_<isocode>.xml Beinhaltet Meta-Daten über das Sprachpaket:
  • Paketsprache in der Form eines ISO-639-1 Codes.
  • Paketversion: Nicht unterstützte Versionen werden vom Cryptshare Server nicht angenommen.
  • Produkt: Der Produkttyp, für den das Paket geeignet ist.
Ja
lang_<isocode>.xml Beinhaltet Ressourcen für die Cryptshare for Outlook Benutzeroberfläche. Ja
templates → recipient Die E-Mail Vorlage für die Empfängerbenachrichtigung, wenn ein Transfer per Cryptshare for Outlook durchgeführt wird. Ja
templates → sent Die E-Mail Vorlage für die Nachricht, die in Gesendete Elemente gespeichert wird, wenn ein Transfer per Cryptshare for Outlook durchgeführt wird. Ja
templates → sms Die E-Mail Vorlage für die SMS-Benachrichtigung, die versendet wird, wenn ein Transfer per Cryptshare for Outlook durchgeführt und die Option "Passwort via SMS senden" aktiviert wird. Ja