CSDNCurrent de:Sprach Ressourcen

Aus Cryptshare Documentation
Wechseln zu:Navigation, Suche



Der Cryptshare Server kann mit Sprachpaketen für den Client ausgestattet werden welche für das Benutzerinterface verwendet werden können. Dadurch ist eine zentrale Verwaltung der Sprachpakete für alle Clients möglich.

Verfügbare Sprachen

Um herauszufinden welche Sprachen am Server verfügbar sind können mit der Methode RequestLanguagePacks() Informationen über installierte Sprachpakete abgerufen werden. Mithilfe dieser Informationen können anschließend bestimmte Sprachpakete angefordert werden.

// First create the Client instance
// Create a WebServiceUri for your Cryptshare Server
WebServiceUri serviceUri = new WebServiceUri("http://cryptshare.server.com");
 
// Create a CryptshareConnection instance for your WebServiceUri
CryptshareConnection connection = new CryptshareConnection(serviceUri);
 
// Create the Client instance with the sender's email address,
// the CryptshareConnection, and the path to the verification store.
Client client = new Client("sender_email@server.com", connection, @"C:\temp");
 
// Now we can request the list of installed languages
List<LanguagePack> languagePackList = client.RequestLanguagePacks();
 
foreach (LanguagePack languagePack in languagePackList)
{
    System.Globalization.CultureInfo locale = languagePack.Language;
    String version = languagePack.Version;
    long lastUpdate = languagePack.LastUpdate;
    Console.WriteLine("Language pack language = " + locale.TwoLetterISOLanguageName +
        " with version = " + version + " last updated at " + lastUpdate);
}

Sprachpaket herunterladen

Nun da die verfügbaren Sprachpakete bekannt sind, können bestimmte Inhalte aus dem Paket mittels der Methode RequestLanguagePackFile(String,CultureInfo) angefordert werden. Die Methode erwartet die folgenden Parameter:

  • Dateiname der gewünschten Datei mit Angabe von Verzeichnissen, falls vorhanden
  • Gewünschte Sprache der angeforderten Datei
Beachten Sie, dass bei der Angabe des Dateinamens nur der Name ohne Sprachkürzel angegeben werden muss.
-----
Beispiel: Anfordern der Sprachdatei 'lang_en_GB.xml'

CultureInfo culture = CultureInfo.CreateSpecificCulture("en-GB");
byte[] langFileBytes = client.RequestLanguagePackFile("lang.xml", culture);
// Schritt 1: Erzeugen einer Client-Instanz
// Anlegen der URL zu Ihrem Cryptshare Server
WebServiceUri serviceUri = new WebServiceUri(ServerUrl);
 
// Erzeugen der Verbindung zum Cryptshare Server
CryptshareConnection connection = new CryptshareConnection(serviceUri);
 
/// Erzeugen der Client-Instanz unter Verwendung der Absenderadresse,
// der Verbindung zum Server und des Pfades für denn lokalen Verifizierungsspeicher.
Client client = new Client("sender_email@server.com", connection, @"C:\temp");
 
// Liste der verfügbaren Sprachen anfordern
List<LanguagePack> languagePackList = client.RequestLanguagePacks();
 
/**
* Nun kann eine bestimmte Datei aus dem Sprachpaket angefordert werden mit
* dem Dateinamen (ohne Lokalisierung) als erstem Parameter und als zweiten
* Parameter die gewünschte Sprache.
**/
byte[] langFileBytes = client.RequestLanguagePackFile("lang.xml",
    languagePackList[0].Language);
 
// Speichern der Datei auf der lokalen Festplatte
if (langFileBytes != null)
{
    FileStream fs = null;
    try
    {
        fs = File.Create(@"C:\temp\lang.xml");
        fs.Write(langFileBytes, 0, langFileBytes.Length);
        fs.Close();
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
    }
    finally
    {
        try
        {
            fs.Close();
        }
        catch (Exception)
        {
        }
    }
}