Průvodce překladem
Úvod
Mluvíte cizím jazykem, který ještě není v Sweet Home 3D podporován, a chtěli byste přispět k jeho překladu do tohoto jazyka? Od verze 2.3 Sweet Home 3D podporuje soubory SH3L a tento průvodce vás naučí, jak takový soubor vytvořit. Soubor SH3L je automaticky instalovatelný jazykový soubor a uživatelé pouze musí dvakrát kliknout na soubor SH3L, aby přeložili Sweet Home 3D do jazyka popsaného v tomto souboru.
Základní pokyny
Vytvoření souboru SH3L sestává z:
- stažení anglické verze souborů k překladu,
- rozbalení staženého souboru,
- přidání 2písmenné přípony odpovídající vašemu jazyku k
.propertiessouborům, které obsahuje, - přeložení textu v
.propertiessouborech, - převedení do kódování ASCII,
- přeložení textu nápovědy v
.htmlsouborech (není povinné, ale bude pro uživatele velmi užitečné), - zabalení
.propertiessouborů a souborů nápovědy zpět do souboru s příponou SH3L, - dvojité kliknutí na soubor SH3L pro otestování překladu v Sweet Home 3D,
- distribuce vašeho souboru SH3L.
Podrobné pokyny
Pokud se nebojíte předchozích základních pokynů, pokračujte následujícími kroky.
Získání anglické verze
Stáhněte si archiv z https://www.sweethome3d.com/SweetHome3DTranslation.zip (verze 7.5) a rozbalte jej pomocí nástrojů vašeho systému.
SweetHome3DTranslation.zip obsahuje sadu souborů s příponami .properties a .html umístěných v podsložkách, jak je znázorněno na obrázku 1.

Všechny soubory .properties a .html obsahují anglickou verzi textů, které budete muset přeložit do svého jazyka:
- soubory
package.propertiespopisují popisky, nabídky a položky nabídek zobrazené v uživatelském rozhraní Sweet Home 3D, - soubory
basic.propertiesametal.propertiespopisují standardní popisky dialogových oken, - ty končící na
Catalog.propertiespopisují názvy nábytku a textur dostupných v softwaru, - soubory
.htmlobsahují text nápovědy Sweet Home 3D.

Soubory .properties musí být umístěny ve složkách zobrazených na obrázku 1, jinak je Sweet Home 3D nebude moci správně použít. Proto nepřesouvejte soubory z jejich složky, nepřejmenovávejte žádnou složku (kromě podsložky en ve složce help) a nemažte žádnou složku.
Přejmenování souborů podle vašeho jazyka
Před překladem souborů .properties byste měli každý z nich přejmenovat přidáním podtržítka následovaného 2znakový ISO kódem odpovídajícím vašemu jazyku. Tento kód najdete v posledním sloupci dokumentu https://www.loc.gov/standards/iso639-2/php/English_list.php.
Poté, pokud chcete přeložit soubory nápovědy, byste měli také přejmenovat podsložku en ve složce help tímto 2písmenným kódem.
Například ISO kód pro češtinu je cs. Pokud chcete přeložit Sweet Home 3D do češtiny, každý název souboru by měl mít příponu _cs a měli byste přejmenovat soubory, jak je znázorněno na obrázku 2.

Překlad souborů vlastností
Soubory .properties jsou obyčejné textové soubory a můžete je upravovat v libovolném textovém editoru jako Wordpad, TextEdit nebo emacs. Například soubor com/eteks/sweethome3d/package.properties ve Sweet Home 3D 3.0 obsahuje následující text:
# package.properties 10 oct. 2007 # # Copyright (c) 2024 Space Mushrooms <[email protected]>. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 USA # Resources for HomeFramePane class HomeFramePane.untitled=Bez názvu # Resources for MacOSXConfiguration class MacOSXConfiguration.WINDOW_MENU.Name=Okno MacOSXConfiguration.MINIMIZE.Name=Minimalizovat MacOSXConfiguration.ZOOM.Name=Přiblížit MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=Přenést vše do popředí # Resources for SweetHome3D class SweetHome3D.3DError.message=<html> Sweet Home 3D se nyní ukončí kvůli závažné chybě <br>v systému 3D vykreslování. Aktualizujte prosím ovladače DirectX/OpenGL <br>vaší grafické karty. SweetHome3D.3DError.title=Chyba 3D SweetHome3D.confirmSaveAfter3DError.message=<html> Sweet Home 3D se musí nyní ukončit kvůli závažné chybě v <br>systému 3D vykreslování. Chcete uložit všechny upravené domy? SweetHome3D.confirmSaveAfter3DError.title=Chyba 3D SweetHome3D.confirmSaveAfter3DError.save=Uložit SweetHome3D.confirmSaveAfter3DError.doNotSave=Neukládat
Soubor .properties obsahuje tři druhy řádků:
- řádky začínající znakem # jsou komentáře (zobrazené zeleně v předchozím příkladu). Některé komentáře obsahují právní informace, některé poskytují informace vývojářům nebo překladatelům. Tyto řádky ponechte beze změny.
- prázdné řádky se používají pouze k oddělení různých částí souboru
.properties. - ostatní řádky začínají textem, který Sweet Home 3D používá jako klíč k nalezení textu zobrazeného na obrazovce (zobrazeného modře v předchozím příkladu). Po tomto klíči obsahuje každý z těchto řádků znak rovnítka (
=) a text v daném jazyce. Vaše práce začíná od znaků rovnítka. Neměňte text klíče a nahraďte anglický text za znakem rovnítka jeho překladem.
Zvláštní případy:
- Texty začínající značkou
<html>obsahují text ve formátu HTML. Tyto texty obsahují další HTML značky mezi znaky<a>, jako<br>v předchozím příkladu , který představuje zalomení řádku uprostřed dlouhých textů. Neodstraňujte tyto HTML značky, pomáhají Sweet Home 3D správně zobrazovat některé texty. Překlad textu mezi HTML značkami není příliš obtížný, snad kromě nejhoršího HTML textu, kterým je hodnota klíčeWallPanel.wallOrientationLabel.text. - Aby se zabránilo dlouhým řádkům v textovém editoru, některé řádky
jsou rozděleny na dva nebo více řádků a odděleny zpětnými lomítky
\, jako řádek začínajícíSweetHome3D.3DError.messagev předchozím příkladu. V takovém případě neodstraňujte znak\umístěný na konci řádku, protože označuje, že následující řádek navazuje na aktuální řádek. - Některé texty obsahují speciální sekvence znaků začínající
znakem
%, jako%s,%d,%1$s,%2$s… Tyto sekvence znaků budou nahrazeny názvem souboru, jednotkou nebo číslem podle potřeby, takže je neodstraňujte.
Například sekvence znaků%sv textu následujícího klíčeHomeFurniturePanel.widthLabel.text:
HomeFurniturePanel.widthLabel.text=Šířka (%s):
bude nahrazena aktuálně používanou jednotkou. Dvě sekvence znaků%1$da%2$dkteré se objevují v textu následujícího klíčePrintPreviewPanel.pageLabel.text:
PrintPreviewPanel.pageLabel.text=Strana %1$d/%2$d
se na obrazovce zobrazí jako číslo stránky a počet stránek, a ty bys měl přeložit pouze slovoPage. - Některé texty obsahují také speciální sekvenci znaků
\n, jako v následujícím příkladu:HomeController.saveError=Nelze uložit dům do "%s"
Tato sekvence znaků je v Sweet Home 3D zobrazena jako zalomení řádku pro rozdělení řádku na obrazovce a neměli byste ji odstraňovat. - Hodnota klíče
HelpController.helpIndexoznačuje adresář, kde lze najít soubory nápovědy. Pokud překládáte soubory nápovědy .html, měli byste nahradit nalezenou podsložkuen2písmenným kódem vašeho jazyka.
Například pokud překládáte nápovědu do češtiny, mělo by to být:HelpController.helpIndex=/com/eteks/sweethome3d/viewcontroller/resources/help/cs/index.html
- Text klíčů končících na
.mnemonicpoužívá Sweet Home 3D k určení, které písmeno v popisku nebo položce nabídky by mělo být podtržené pro přístup z klávesnice. Toto mnemonické písmeno závisí na zobrazeném slově a měli byste najít jedinečné písmeno pro každé dialogové okno nebo nabídku.
Například následující texty a mnemoniky zobrazené v dialogovém okně úprav nábytku:HomeFurniturePanel.nameLabel.text=Název: HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Zobrazit název v plánu HomeFurniturePanel.nameVisibleCheckBox.mnemonic=Z HomeFurniturePanel.widthLabel.text=Šířka (%s): HomeFurniturePanel.widthLabel.mnemonic=S
lze přeložit do francouzštiny jako: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
- Použijte Sweet Home 3D nebo stránku pro import 3D modelů jako pomůcku při překladu souborů
.propertieskončících naCatalog.properties.
Převod souborů vlastností do kódování ASCII
Pokud jste přeložili texty do jazyka s písmeny, která nepatří do kódování ISO-8859-1 (hlavně jazyky střední a východní Evropy a jazyky s nelatinskou abecedou), budete muset převést všechny vaše soubory .properties do kódování ASCII podporovaného Sweet Home 3D. Tento převod lze provést pomocí nástroje native2ascii poskytovaného s JDK nebo pomocí následujícího formuláře.
Pro každý soubor .properties vytvořte zálohu tohoto souboru, zkopírujte/vložte text k převodu do následujícího textového pole, klikněte na tlačítko Převést a zkopírujte/vložte převedený text zpět do jeho souboru .properties.
Nástroj pro převod nahradí každý znak mimo ASCII (písmena s diakritikou a nelatinská písmena) sekvencí začínající \u a následovanou 4místným hexadecimálním kódem odpovídajícím tomuto znaku v Unicode. Bohužel, tento převod učiní váš text pro člověka dost nečitelným, ale pokud jej neprovedete, Sweet Home 3D nebude schopen správně zobrazit znaky vašeho překladu. Proto byste měli vytvořit zálohu vašich původních souborů .properties, pro případ, že je budete chtít později změnit.
Pokud chcete přímo upravovat soubory .properties převedené do ASCII, můžete také použít aplikaci Properties Editor dostupnou jako spustitelný soubor Jar zde.
Překlad souborů nápovědy
Dobrý překlad Sweet Home 3D by měl zahrnovat také překlad souborů nápovědy. Překlad všech souborů .html je dlouhý úkol, ale opravdu pomůže uživatelům naučit se software a vyhnout se některým žádostem o podporu na fóru Sweet Home 3D. Použijte libovolný HTML editor k překladu těchto souborů a snažte se zachovat odkazy, které obsahují, a jejich styl.
Po překladu byste měli také vytvořit snímky obrazovky dialogových oken ve vašem jazyce, abyste nahradili obrázky nalezené v com/eteks/sweethome3d/viewcontroller/resources/help/en/images. Abyste mohli vytvořit takové snímky obrazovky, vytvořte a otestujte první soubor SH3L pomocí následujících kroků (jakmile existuje soubor SH3L obsahující přeložené soubory .properties, můžete také požádat vývojáře Sweet Home 3D o vygenerování snímků obrazovky).
Vytvoření souboru SH3L
Jakmile jsou všechny soubory .properties a .html přeloženy a v případě potřeby převedeny do ASCII (nebo i před tím, pokud chcete tento postup vyzkoušet), měli byste je zabalit do souboru. V závislosti na vašem systému lze vytvořit zip soubor následujícím postupem:
- ve Windows vyberte složku
comobsahující všechny přeložené soubory a zvolte Odeslat do > Komprimovaná složka z její kontextové nabídky, - v Mac OS X vyberte složku
comobsahující všechny přeložené soubory a zvolte položku nabídky Soubor > Komprimovat „com“, - v Linuxu vyberte složku
comobsahující všechny přeložené soubory, zvolte Vytvořit archiv… z její kontextové nabídky a pak vyberte .zip v seznamu formátů.
Nakonec změňte příponu .zip zip souboru na .sh3l. Soubor SH3L může mít jakýkoli název, ale abyste se vyhnuli konfliktům s existujícími soubory SH3L, měli byste jej pojmenovat podle jazyka, který obsahuje, a verze Sweet Home 3D, kterou jste přeložili (například French-4.1.sh3l by mohl být dobrý název pro francouzský překlad Sweet Home 3D 4.1).
Testování souboru SH3L
Pro otestování překladu dvakrát klikněte na soubor SH3L nebo jej vyberte pomocí tlačítka Importovat jazykovou knihovnu
zobrazeného v horní části panelu Předvolby. Tím se spustí Sweet Home 3D a přeloží se jeho uživatelské rozhraní do jazyka popsaného v souboru SH3L. Tím se také zkopíruje soubor SH3L do složky závislé na vašem systému:
- ve Windows Vista / 7 / 8 / 10 / 11 je tato složka C:UsersuživatelAppDataRoamingeTeksSweet Home 3Dlanguages,
- ve Windows XP a předchozích verzích Windows je tato složka C:Documents and SettingsuživatelApplication DataeTeksSweet Home 3Dlanguages,
- v macOS je to podsložka Library/Application Support/eTeks/Sweet Home 3D/languages vaší uživatelské složky,
- v Linuxu a jiných Unixech je to podsložka .eteks/sweethome3d/languages vaší uživatelské složky,
- v přenosné verzi Sweet Home 3D je to podsložka data/languages složky, kde je uložena aplikace Sweet Home 3D,
Všimni si také, že během vývoje svého SH3L souboru budeš pravděpodobně muset Sweet Home 3D restartovat, abys viděl změny ve svém SH3L souboru.
Distribuce SH3L souborů
Jakmile je tvůj SH3L soubor připravený, můžeš ho nabídnout komukoli, oznámit ho uživatelům Sweet Home 3D ve fórové sekci vyhrazené pro cizí jazyky nebo na jiných místech. Pokud souhlasíš, může být zpřístupněn na této webové stránce na stránce o překladech podporovaných Sweet Home 3D.
Aktualizace SH3L souborů
Některé verze Sweet Home 3D přinášejí nové funkce k překladu, jiné ne. Pokud nepřeložíš popisky uživatelského rozhraní odpovídající těmto novým funkcím, Sweet Home 3D bude fungovat, ale všechny nové popisky se zobrazí v angličtině. Pro nalezení nových klíčů a aktualizovaných klíčů v .properties souborech můžeš použít funkci nabízenou SourceForge.net, která ti umožní porovnat dvě verze souboru projektu:
- Vyhledej data verzí Sweet Home 3D, které chceš porovnat v historii (například 19. července 2015 pro verzi 5.0 a 2. února 2015 pro verzi 4.6)
- Klikni na
.propertiesnebo.htmlsoubor, který chceš aktualizovat v obrázku 1, - Vyber dvě zaškrtávací políčka čísla revize odpovídající datu verze pro aktualizovaný soubor, přičemž vyber datum, které je těsně před datem verze Sweet Home 3D,
- Klikni na tlačítko Porovnat.
Poslední kliknutí ti ukáže rozdíly mezi dvěma verzemi tohoto .properties souboru (například tento odkaz ti ukáže rozdíly mezi verzí 4.6 a verzí 5.0 souboru com/eteks/sweethome3d/viewcontroller/package.properties).
Jakmile najdeš rozdíly, aktualizuj svůj překlad, v případě potřeby přidej nové názvy klíčů a vydej novou verzi svého překladu.