Einführung
Sie sprechen eine Fremdsprache, die in Sweet Home 3D noch nicht unterstützt wird, und möchten zur Übersetzung in diese Sprache beitragen? Ab Version 2.3 unterstützt Sweet Home 3D SH3L-Dateien, und diese Anleitung zeigt Ihnen, wie Sie eine solche Datei selbst erstellen können. Eine SH3L-Datei ist eine automatisch installierbare Sprachdatei, und Benutzer müssen lediglich auf eine SH3L-Datei doppelklicken, um Sweet Home 3D in die in dieser Datei beschriebene Sprache zu übersetzen.
Grundlegende Anweisungen
Das Erstellen einer SH3L-Datei besteht aus:
- Herunterladen einer englischen Version der zu übersetzenden Dateien,
- Entpacken der heruntergeladenen Datei,
- Hinzufügen eines 2-Buchstaben-Suffixes, das Ihrer Sprache entspricht, zu den
.propertiesdarin enthaltenen Dateien, - Übersetzen des Textes in den
.propertiesDateien, - Konvertieren in ASCII-Kodierung,
- Übersetzen des Hilfetextes in den
.htmlDateien (nicht obligatorisch, aber für Benutzer sehr nützlich), - Zippen der
.propertiesDateien und der Hilfedateien zurück in eine Datei mit der Erweiterung SH3L, - Doppelklicken auf die SH3L-Datei, um Ihre Übersetzung in Sweet Home 3D zu testen,
- Verteilen Ihrer SH3L-Datei.
Detaillierte Anweisungen
Wenn Sie keine Angst vor den vorherigen grundlegenden Anweisungen haben, fahren Sie mit den nächsten Schritten fort.
Besorgen der englischen Version
Laden Sie das Archiv unter /SweetHome3DTranslation.zip (Version 7.5) herunter und entpacken Sie es mit den Tools Ihres Systems.
SweetHome3DTranslation.zip enthält eine Reihe von Dateien mit den Erweiterungen .properties und .html, die in Unterordnern abgelegt sind, wie in Abbildung 1 dargestellt.

Alle .properties und .html Dateien enthalten die englische Version der Texte, die Sie in Ihre Sprache übersetzen müssen:
- Die
package.propertiesDateien beschreiben Beschriftungen, Menüs und Menüpunkte, die in der Benutzeroberfläche von Sweet Home 3D angezeigt werden, - Die
basic.propertiesundmetal.propertiesDateien beschreiben Standard-Dialogfeld-Beschriftungen, - Diejenigen, die mit
Catalog.propertiesenden, beschreiben die Namen der Möbel und Texturen, die in der Software verfügbar sind, - Die
.htmlDateien enthalten den Text der Hilfe von Sweet Home 3D.
Umbenennen von Dateien in Abhängigkeit von Ihrer Sprache
Bevor Sie die .properties Dateien übersetzen, sollten Sie jede von ihnen umbenennen, indem Sie ihrem Namen einen Unterstrich gefolgt von dem 2-Zeichen-ISO-Code hinzufügen, der Ihrer Sprache entspricht. Sie finden diesen Code in der letzten Spalte des Dokuments
Wenn Sie dann die Hilfedateien übersetzen möchten, sollten Sie auch das
Zum Beispiel ist der ISO-Code für Tschechisch _cs ergänzt werden, und Sie sollten die Dateien wie in Abbildung 2 gezeigt umbenennen.

Übersetzen von Properties-Dateien
Die .properties Dateien sind einfache Textdateien, und Sie können sie mit einem beliebigen Texteditor wie Wordpad, TextEdit oder emacs bearbeiten. Zum Beispiel enthält die com/eteks/sweethome3d/package.properties Datei in Sweet Home 3D 3.0 den folgenden Text:
# package.properties 10. Okt. 2007 # # Copyright (c) 2024 Space Mushrooms <[email protected]>. Alle Rechte vorbehalten. # # Dieses Programm ist freie Software; Sie können es weitergeben und/oder unter # den Bedingungen der GNU General Public License, wie von der Free Software # Foundation veröffentlicht; entweder Version 2 der Lizenz oder (nach Ihrer Wahl) jede spätere # Version. # # Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird, aber OHNE # JEGLICHE GARANTIE; ohne sogar die stillschweigende Garantie der MARKTGÄNGIGKEIT oder EIGNUNG # FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere # Details. # # Sie sollten eine Kopie der GNU General Public License zusammen mit # diesem Programm erhalten haben; wenn nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 USA # Ressourcen für die HomeFramePane-Klasse HomeFramePane.untitled=Unbenannt # Ressourcen für die MacOSXConfiguration-Klasse MacOSXConfiguration.WINDOW_MENU.Name=Fenster MacOSXConfiguration.MINIMIZE.Name=Minimieren MacOSXConfiguration.ZOOM.Name=Zoomen MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=Alle nach vorne bringen # Ressourcen für die SweetHome3D-Klasse SweetHome3D.3DError.message=<html> Sweet Home 3D wird jetzt aufgrund eines schwerwiegenden Fehlers beendet <br>im 3D-Rendering-System. Bitte aktualisieren Sie die DirectX/OpenGL-Treiber <br>Ihrer Computer-Grafikkarte. SweetHome3D.3DError.title=3D-Fehler SweetHome3D.confirmSaveAfter3DError.message=<html> Sweet Home 3D muss jetzt aufgrund eines schwerwiegenden Fehlers in <br>3D-Rendering-System beendet werden. Möchten Sie alle geänderten Häuser speichern? SweetHome3D.confirmSaveAfter3DError.title=3D-Fehler SweetHome3D.confirmSaveAfter3DError.save=Speichern SweetHome3D.confirmSaveAfter3DError.doNotSave=Nicht speichern
Eine .properties Datei enthält drei Arten von Zeilen:
- Die Zeilen, die mit einem #-Zeichen beginnen, sind Kommentare (im vorherigen Beispiel grün dargestellt). Einige Kommentare enthalten rechtliche Informationen, andere geben Informationen an Entwickler oder Übersetzer. Lassen Sie diese Zeilen unverändert.
- Leere Zeilen werden nur verwendet, um die verschiedenen Teile einer
.propertiesDatei zu trennen. - Die anderen Zeilen beginnen mit einem Text, der von Sweet Home 3D als Schlüssel verwendet wird, um einen auf dem Bildschirm angezeigten Text zu finden (im vorherigen Beispiel blau dargestellt). Nach diesem Schlüssel enthält jede dieser Zeilen ein Gleichheitszeichen (
=) und einen Text in einer bestimmten Sprache. Ihre Arbeit beginnt ab den Gleichheitszeichen. Ändern Sie nicht den Text des Schlüssels und ersetzen Sie den englischen Text nach dem Gleichheitszeichen durch seine Übersetzung.
Spezielle Fälle:
- Die Texte, die mit einem
<html>Tag beginnen, enthalten Text im HTML-Format. Diese Texte enthalten einige andere HTML-Tags zwischen<und>Zeichen, wie<br>im vorherigen Beispiel, das einen Wagenrücklauf in der Mitte langer Texte darstellt. Entfernen Sie diese HTML-Tags nicht, sie helfen Sweet Home 3D, einige Texte korrekt darzustellen. Das Übersetzen von Text zwischen HTML-Tags ist nicht sehr schwierig, außer vielleicht für den schlimmsten HTML-Text, der der Wert vonWallPanel.wallOrientationLabel.textSchlüssel ist. - Um lange Zeilen im Texteditor zu vermeiden, werden einige Zeilen
in zwei oder mehr Zeilen aufgeteilt und dann durch umgekehrte Schrägstriche getrennt
\, wie die Zeile, die mit “ beginntSweetHome3D.3DError.messageim vorherigen Beispiel. Entfernen Sie in diesem Fall nicht das\Zeichen am Ende einer Zeile, da es angibt, dass die nächste Zeile der aktuellen Zeile folgt. - Einige Texte enthalten spezielle Zeichenfolgen, die
mit einem
%-Zeichen beginnen, wie%s,%d,%1$s,%2$s… Diese Zeichenfolgen werden bei Bedarf durch einen Dateinamen, eine Einheit oder eine Zahl ersetzt, also entfernen Sie sie nicht.
Zum Beispiel die Zeichenfolge%sim Text des folgenden SchlüsselsHomeFurniturePanel.widthLabel.text:
HomeFurniturePanel.widthLabel.text=Breite (%s):
wird durch die aktuell verwendete Einheit ersetzt. Die beiden Zeichenfolgen%1$dund%2$ddie im Text des folgenden Schlüssels erscheinenPrintPreviewPanel.pageLabel.text:
PrintPreviewPanel.pageLabel.text=Seite %1$d/%2$d
werden auf dem Bildschirm als Seitenzahl und Seitenzahl angezeigt, und Sie sollten nur das WortPageübersetzen. - Einige Texte enthalten auch die spezielle Zeichenfolge
\n, wie im folgenden Beispiel:HomeController.saveError=Kann Haus nicht speichern in\n"%s"
Diese Zeichenfolge wird von Sweet Home 3D als Wagenrücklauf angezeigt, um eine Zeile auf dem Bildschirm zu teilen, und Sie sollten sie nicht entfernen. - Der Wert des Schlüssels
HelpController.helpIndexgibt das Verzeichnis an, in dem sich die Hilfedateien befinden. Wenn Sie die .htmlHilfedateien übersetzen, sollten Sie dasenUnterverzeichnis durch den 2-Buchstaben-Code Ihrer Sprache ersetzen.
Wenn Sie beispielsweise Hilfe ins Tschechische übersetzen, sollte es Folgendes werden:HelpController.helpIndex=/com/eteks/sweethome3d/viewcontroller/resources/help/cs/index.html
- Der Text der Schlüssel, die mit
.mnemonicenden, wird von Sweet Home 3D verwendet, um zu erraten, welcher Buchstabe in einer Beschriftung oder einem Menüpunkt für den Tastaturzugriff unterstrichen werden soll. Dieser mnemonische Buchstabe hängt vom angezeigten Wort ab, und Sie sollten einen eindeutigen pro Dialogfeld oder Menü finden.
Zum Beispiel die folgenden Texte und Mnemotechniken, die im Dialogfeld zur Möbeländerung angezeigt werden:HomeFurniturePanel.nameLabel.text=Name: HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Namen im Plan anzeigen HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S HomeFurniturePanel.widthLabel.text=Breite (%s): HomeFurniturePanel.widthLabel.mnemonic=W
kann auf Französisch übersetzt werden durch:HomeFurniturePanel.nameLabel.text=Nom : HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Afficher le nom dans le plan HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S HomeFurniturePanel.widthLabel.text=Largeur (%s) : HomeFurniturePanel.widthLabel.mnemonic=L
- Verwenden Sie Sweet Home 3D oder die Seite zum Importieren von 3D-Modellen, um Ihnen bei der Übersetzung der
.propertiesDateien zu helfen, die mitCatalog.propertiesenden.
Konvertieren von Properties-Dateien in ASCII-Kodierung
Wenn Sie Texte in eine Sprache mit Buchstaben übersetzt haben, die nicht zur ISO-8859-1-Kodierung gehören (hauptsächlich mittel- und osteuropäische Sprachen und Sprachen mit einem nicht-lateinischen Alphabet), müssen Sie alle Ihre .properties Dateien in eine von Sweet Home 3D unterstützte ASCII-Kodierung konvertieren. Diese Konvertierung kann mit dem native2ascii Tool durchgeführt werden, das mit dem JDK bereitgestellt wird, oder mit dem folgenden Formular.
Erstellen Sie für jede .properties Datei eine Sicherungskopie dieser Datei, kopieren/fügen Sie den zu konvertierenden Text in den folgenden Textbereich ein, klicken Sie auf die Schaltfläche Konvertieren und kopieren/fügen Sie den konvertierten Text zurück in seine .properties Datei.
Das Konvertierungstool ersetzt jedes Nicht-ASCII-Zeichen (lateinische Buchstaben mit Akzenten und nicht-lateinische Buchstaben) durch eine Sequenz, die mit \u beginnt und von einem 4-stelligen Hexadezimalcode gefolgt wird, der diesem Zeichen in Unicode entspricht. Leider macht diese Konvertierung Ihren Text für einen Menschen ziemlich unleserlich, aber wenn Sie sie nicht durchführen, kann Sweet Home 3D die Zeichen Ihrer Übersetzung nicht korrekt anzeigen. Dies ist der Grund, warum Sie eine Sicherungskopie Ihrer ursprünglichen .properties Dateien erstellen sollten, falls Sie sie später ändern möchten.
Wenn Sie .properties Dateien, die in ASCII konvertiert wurden, direkt bearbeiten möchten, können Sie auch die Anwendung Properties Editor verwenden, die als Jar-ausführbare Datei hier verfügbar ist.
Übersetzen der Hilfedateien
Eine gute Übersetzung von Sweet Home 3D sollte auch die Übersetzung seiner Hilfedateien beinhalten. Das Übersetzen aller
Sobald Sie übersetzt haben, sollten Sie auch Bildschirmaufnahmen der Dialogfelder in Ihrer Sprache erstellen, um die Bilder in .properties Dateien vorhanden ist, können Sie auch den Entwickler von Sweet Home 3D bitten, die Bildschirmaufnahmen zu erstellen).
Erstellen der SH3L-Datei
Sobald alle .properties und .html Dateien übersetzt und gegebenenfalls in ASCII konvertiert wurden (oder sogar vorher, wenn Sie dieses Verfahren testen möchten), sollten Sie sie in einer Datei zippen. Je nach System kann das Erstellen einer Zip-Datei mit dem folgenden Verfahren erfolgen:
- Unter Windows wählen Sie den
comOrdner aus, der alle übersetzten Dateien enthält, und wählen Sie im Kontextmenü Senden an > ZIP-komprimierter Ordner aus, - Unter Mac OS X wählen Sie den
comOrdner aus, der alle übersetzten Dateien enthält, und wählen Sie den Menüpunkt Datei > Komprimieren « com » aus, - Unter Linux wählen Sie den
comOrdner aus, der alle übersetzten Dateien enthält, wählen Sie im Kontextmenü Archiv erstellen… aus und wählen Sie dann .zip in der Formatliste aus.
Ändern Sie schließlich die .zip Erweiterung der Zip-Datei in .sh3l. Eine SH3L-Datei kann einen beliebigen Namen haben, aber um Konflikte mit vorhandenen SH3L-Dateien zu vermeiden, sollten Sie sie nach der Sprache benennen, die sie enthält, und der Version von Sweet Home 3D, die Sie übersetzt haben (z. B. könnte French-4.1.sh3l ein guter Name für die französische Übersetzung von Sweet Home 3D 4.1 sein).
Testen einer SH3L-Datei
Um die Übersetzung zu testen, doppelklicken Sie auf eine SH3L-Datei oder wählen Sie sie mit der Schaltfläche Sprachbibliotheksdatei importieren
aus, die oben im Einstellungen-Fenster angezeigt wird. Dadurch wird Sweet Home 3D gestartet und die Benutzeroberfläche in die in der SH3L-Datei beschriebene Sprache übersetzt. Dadurch wird die SH3L-Datei auch in einen Ordner kopiert, der von Ihrem System abhängt:
- Unter Windows Vista / 7 / 8 / 10 / 11 ist dieser Ordner C:\Users\Benutzer\AppData\Roaming\eTeks\Sweet Home 3D\languages,
- Unter Windows XP und früheren Versionen von Windows ist dieser Ordner C:\Documents and Settings\Benutzer\Application Data\eTeks\Sweet Home 3D\languages,
- Unter macOS ist es der Unterordner Library/Application Support/eTeks/Sweet Home 3D/languages Ihres Benutzerordners,
- Unter Linux und anderen Unix-Systemen ist es der Unterordner .eteks/sweethome3d/languages Ihres Benutzerordners,
- Mit der portablen Version von Sweet Home 3D ist es der Unterordner data/languages des Ordners, in dem die Sweet Home 3D-Anwendung gespeichert ist,
Beachten Sie auch, dass Sie während der Entwicklung Ihrer SH3L-Datei Sweet Home 3D wahrscheinlich neu starten müssen, um die Änderungen in Ihrer SH3L-Datei zu sehen.
SH3L-Dateien verteilen
Sobald Ihre SH3L-Datei fertig ist, können Sie sie jedem vorschlagen und sie den Sweet Home 3D-Benutzern im Forumteil, der für Fremdsprachen reserviert ist, oder an anderen Orten ankündigen. Wenn Sie einverstanden sind, kann sie auf dieser Website auf der Seite über die von Sweet Home 3D unterstützten Übersetzungen zur Verfügung gestellt werden.
SH3L-Dateien aktualisieren
Einige Versionen von Sweet Home 3D bringen neue zu übersetzende Funktionen mit sich, andere nicht. Wenn Sie die Beschriftungen der Benutzeroberfläche, die diesen neuen Funktionen entsprechen, nicht übersetzen, funktioniert Sweet Home 3D zwar, aber alle neuen Beschriftungen werden auf Englisch angezeigt. Um die neuen und aktualisierten Schlüssel in .properties-Dateien zu finden, können Sie eine Funktion von SourceForge.net verwenden, mit der Sie zwei Versionen einer Projektdatei vergleichen können:
- Suchen Sie die Daten der Sweet Home 3D-Versionen, die Sie vergleichen möchten, im Verlauf (z. B. 19. Juli 2015 für Version 5.0 und 2. Februar 2015 für Version 4.6).
- Klicken Sie auf die
.properties– oder.html-Datei, die Sie aktualisieren möchten, in Abbildung 1, - Aktivieren Sie die beiden Kontrollkästchen der Revisionsnummer, die mit dem Versionsdatum für die aktualisierte Datei übereinstimmt, und wählen Sie das Datum, das kurz vor einem Versionsdatum von Sweet Home 3D liegt.
- Klicken Sie auf die Schaltfläche Vergleichen.
Der letzte Klick zeigt Ihnen die Unterschiede zwischen den beiden Versionen dieser .properties-Datei (z. B. zeigt Ihnen dieser Link die Unterschiede zwischen Version 4.6 und Version 5.0 der Datei com/eteks/sweethome3d/viewcontroller/package.properties).
Sobald Sie die Unterschiede gefunden haben, aktualisieren Sie Ihre Übersetzung, fügen Sie bei Bedarf neue Schlüsselnamen hinzu und veröffentlichen Sie eine neue Version Ihrer Übersetzung.
