Archiv für ‘Tools’ Category

Multilinguale Softwareentwicklung: .NET Resource Files vergleichen und editieren

Software wird heutzutage oft für verschiedene Sprachen konzipiert, weshalb während der Software-Entwicklung eine Trennung von Layout und dem eigentlichen Text erfolgen muss um später die angezeigten Texte durch die ausgewählte Sprache ersetzen zu können. Dies wird mittels Resource Files umgesetzt, die eine Menge von Zeichenketten mit jeweils eindeutigem Zugriffsschlüssel enthalten. Für jede weitere Sprache wird ein neues Resource File angelegt, dass die gleichen Zugriffsschlüssel enthält wie die bereits bestehenden Resource Files – die entsprechenden Zeichenketten werden anschließend in die gewünschte Sprache übersetzt.

Soweit so gut. In der Praxis gestaltet sich die Entwicklung neuer Software-Module entsprechend umständlich, da jede neue Zeichenkette in alle vorhandenen Resource Files (je Sprache ein Resource File) eingetragen werden muss. In der Microsoft Entwicklungsumgebung Visual Studio 2008 gibt es dafür einen Editor, mit dem es möglich ist die Zeichenketten eines Resource Files tabelarisch darzustellen und zu beabeiten – eine Möglichkeit die Resource Files untereinander abzugleichen oder gemeinsam zu bearbeiten gibt es leider nicht.

Genau für diesen Zweck habe ich erst kürzlich eine super Anwendung gefunden, die dabei hilft mehrere Resource Files gleichzeitig anzuzeigen und zu bearbeiten. Nachfolgend weitere Infos dazu.

Zeta Resource Editor

Mit dem Zeta Resource Editor können mehrere .NET Resource Files gleichzeitig geöffnet werden und in einer tabellarischen Ansicht verglichen und bearbeitet werden. Der Editor markiert Felder mit einem gelben Hintergrund, falls eine Zeichenkette noch nicht übersetzt worden ist. Auf diese Art und Weise können Resource Files untereinander abgeglichen und Fehler schneller erkannt werden.

zeta-editmode.png

Für Übersetzungsmuffel ist auch eine “Schnellübersetzer” Funktion integriert worden, mit der man Texte in verschiedene Sprachen übersetzen lassen kann – über die Qualität der Übersetzung kann ich leider noch nichts berichten.

Download Zeta Resource Editor

Die Anwendung ist frei verfügbar und kann auf der Herstellerwebsite kostenfrei heruntergeladen werden: http://www.zeta-sw.com/zre/.

Auf der Website befinden sich auch weitere Informationen zur Handhabung des Tools in Form von kleinen Webcasts.

14. Juni 2009

LaTeX Textsatzsystem

Wer größere Dokumente erstellen und dabei die volle Kontrolle möchte und dabei auch ohne einen WYSIWYG Editor (”What you see is what you get”) auskommt, für den stellt LaTeX bzw. eine entsprechende Distribution eine gute Wahl dar. Vor allem zur Erstellung von wissenschaftlichen Arbeiten, wie Studien- und Diplomarbeiten lohnt es sich mehr Zeit zu investieren um letzten Endes ein qualitativ hochwertiges Dokument zu erhalten.

Folgendes sind Vorteile und Stärken von LaTeX:

  • Die Formatierung wird getrennt vom Inhalt definiert
  • Sehr gutes Textsatz (Beispiel: Blocksatz verteilt Zeichen besser als die meisten Standardtextbearbeitungs-Anwendungen.
  • Erstellung von eigenen Makros leicht möglich und sehr praktischfür wiederkehrende Elemente
  • Erstellung von Verzeichnissen wie Inhalts-, Abbildungs-, Tabellen-, Listingverzeichnis oder Glossar leicht möglich.
  • Umfangreicher Formelsatz zur Anzeige von mathematischen Formeln
  • Es existieren vordefinierte Dokumentenklassen, die viele Einstellungen vornehmen
  • Zahlreiche Erweiterungspakete existieren und können eingebunden werden
  • Plattform unabhängig – das erstellte TeX-Dokument kann auf verschiedenen Plattformen ausgewertet werden, bei stets gleich bleibendem Endergebnis (als pdf, dvi oder ps Datei).

Folgendes wird für eine produktive Umgebung benötigt:

  1. Eine LaTex-Distribution für die entsprechende Zielplattform, beispielsweise MiKTeX für MS Windows.
  2. Einen Editor, beispielsweise TeXnicCenter.

Beide Komponenten können kostenfrei heruntergeladen werden.

  1. MiKTeX Installer herunterladen. MiKTeX 2.7: http://miktex.org/2.7/Setup.aspx
    1. Installer ausführen, alle Pakete herunterladen
    2. Nach Download: Setup im MiKTeX Verzeichnis ausführen. Beispiel: setup-2.7.3092.exe
  2. Nach erfolgreicher Installation, kann das TeXnicCenter installiert werden.
    1. Download von SourceForge: http://sourceforge.net/project/showfiles.php?group_id=36323
    2. Installation ausführen.
    3. Beim ersten Start fragt TeXnicCenter nach dem MiKTeX Installationsordner, dort muss das Unterverzeichnis “\Miktex\bin” des zuvor angegebenen Pfades angegeben werden.
    4. Danach wird der Standard-Reader abgefragt, der Adobe Reader kann hier beispielsweise eingestellt werden.

Nach diesen Schritten steht bereits eine arbeitsfähige Umgebung zur Verfügung. Ein Minimalbeispiel kann man sich bei Wikipedia ansehen. Nachfolgend ein Screenshot aus der TeXnicCenter Umgebung:

Für die Verwaltung von Literatur- und Quellverweisen bietet sich das ebenfalls kostenfreie JabRef an. (Java Runtime Environment wird benötigt!)

Hilfreiche Ressourcen

Da sich bei der Arbeit mit LaTeX oft neue Fragen aufwerfen, sind nachfolgend ein paar gute Quellen aufgeführt, die mir persönlich schon oft geholfen haben.

Dokumentationen

Buchempfehlungen

  • HELMUT KOPKA, LATEX, Bd. 1: Einführung, ISBN: 978-3827370389, Pearson Studium (Amazon)
  • HELMUT KOPKA, LATEX, Bd. 2, ISBN: 978-3827370396, Pearson Studium (Amazon)

19. August 2008

MS Visual Studio “Rosario” – UML Unterstützung

Bisher hielt man sich seitens Microsoft eher bedeckt, was eine sinnvolle Integration von UML (Unified Modelling Language) in die Entwicklungsumgebung Visual Studio betraf. Seit Visual Studio 2005 gibt es den Class Designer, mit dem man Klassendiagramme für die jeweiligen Projekte separat erstellen kann. Praktisch ist dies, da Visual Studio aus dem Diagramm direkt Code erzeugt und es somit weitere Arbeit erspart. Mehr wird aktuell jedoch nicht unterstützt, umso mehr freut es mich, dass Microsoft nun daran arbeitet. Im nächsten Release des Visual Studio Team Systems Codename “Rosario”, soll eine Untertsützung folgender 5 UML Basis Diagramme enthalten sein:

  • Klassendiagramm (class diagram)
  • Anwendungsfalldiagramm (Use Case diagram)
  • Komponentendiagramm (Component diagram)
  • Sequenzdiagramm (Sequence diagram)
  • Aktivitätsdiagramm (Activity diagram)

Wie Cameron Skinner in seinem Blog schreibt, wird es eine Kombination aus UML und einer domain-specific language (DSL, dt. Domänenspezifische Sprache) geben. Dies macht natürlich Sinn, da UML als universell einsetzbare, objektorientierte Notation bzw. Sprache nicht nur zur Software-Modellierung verwendet werden kann, sondern auch zur Modellierung Software fremder Sachverhalte.

Um die UML Diagramme nicht nur für visuelle Zwecke zu nutzen, sondern den Informationsgehalt dieser für eine Codegenerierung zu verwenden,, will Microsoft eine DSL darunter setzen, die dann Informationen auswerten kann und die Sachverhalte auf Programmcode-Ebene betrachtet. Man ordnet den beiden Sprachen unterschiedliche Abstraktionsniveaus zu, so dass UML auf einer logischen Ebene (engl. logical layer) und die DSL auf einer darunter liegenden physischen Ebene (engl. physical layer) fungiert.

Im April wurde bereits ein CTP von Roasario veröffentlicht, das ganze gibts als Virtual PC Image zum herunterladen. Die Links dazu und eine kleine Featurelist gibt es im Blog von Jeff Beehler.

Ich bin sehr gespannt wie dieses Zusammenspiel konkret aussehen wird und werde das Thema im Auge behalten.

9. August 2008

Empfehlung: Unlocker

Wer kennt das nicht: man möchte Dateien und/oder Ordner auf einer Platte löschen und erhält dabei stets die Meldung, dass das Löschen nicht möglich ist, da die Dateien noch von einer Anwendung verwendet werden. Meist hilft dabei einfach nur ein Neustart des Systems oder Warten und Hoffen, dass die ominöse Anwendung die unliebsamen Dateien in nächster Zeit frei gibt. Das Problem sind noch existierende Filehandles im Betriebssystem, die das Löschen natürlich verhindern müssen.

Wer sich existierende Filehandles einer Datei ansehen und ggf. löschen will, der kann das frei verfügbare Tool “Unlocker” verwenden. Nach der Installation findet sich, wenn dies bei der Installation entsprechend gewünscht wurde, ein praktischer Eintrag im Kontextmenu wieder. Um bestehende Filehandles anzuzeigen, reicht es die Datei auszuwählen und per Rechtsklick das Kontextmenu aufzurufen und den entsprechenden Eintrag “Unlocker” aufzurufen.

Sind bestehende Filehandles vorhanden, listet Unlocker diese in einem neuen Fenster auf und bietet einige Aktionen an. Möchte man das Filehandle löschen und die entsprechende Datei freigeben, markiert man das Filehandle und nutzt den Button “Freigeben”. Unlocker löscht das Filehandle anschließend. Bei hartnäckigen Fällen, kann man via Unlocker auch den Prozess beenden, und damit auch die Filehandles freigeben – dies geht über den Button “Prozess töten”.

Nachdem die Filehandles gelöscht wurden, kann man dies durch nochmaliges Aufrufen überprüfen. Sind keine Filehandles mehr vorhanden, zeigt sich folgendes Bild.

Auf diese Art und Weise lässt sich Zeit sparen und Frust vermeiden, vor allem wenn man nicht weiß, welche verkappte Anwendung die Datei verwendet.

4. August 2008