Úvod

Mluvíte cizím jazykem, který Sweet Home 3D zatím nepodporuje, a chtěli byste přispět k jeho překladu do tohoto jazyka? Od verze 2.3 podporuje Sweet Home 3D soubory SH3L a tento průvodce vás naučí, jak takový soubor sami vytvořit. Soubor SH3L je automaticky instalovatelný jazykový soubor a uživatelé stačí dvakrát kliknout na soubor SH3L, aby přeložili Sweet Home 3D do jazyka popsaného tímto souborem.

Základní instrukce

Vytvoření souboru SH3L zahrnuje:

  1. stažení anglické verze souborů k překladu,
  2. rozbalení staženého souboru,
  3. přidání dvoupísmenné přípony odpovídající vašemu jazyku k .properties souborům, které obsahuje,
  4. přeložení textu v .properties souborech,
  5. převedení do kódování ASCII,
  6. přeložení textu nápovědy v .html souborech (není povinné, ale bude pro uživatele velmi užitečné),
  7. zabalení .properties souborů a souborů nápovědy zpět do souboru s příponou SH3L,
  8. dvojklik na soubor SH3L pro otestování překladu v Sweet Home 3D,
  9. distribuci souboru SH3L.

Podrobné instrukce

Pokud se nebojíte předchozích základních instrukcí, pokračujte dalšími kroky.

Získání anglické verze

Stáhněte si archiv na /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.

Obrázek 1. Soubory překladu

Všechny .properties a .html soubory obsahují anglickou verzi textů, které budete muset přeložit do svého jazyka:

  • package.properties soubory popisují popisky, nabídky a položky nabídky zobrazené v uživatelském rozhraní Sweet Home 3D,
  • basic.properties a metal.properties soubory popisují standardní popisky dialogových oken,
  • ty, které končí na Catalog.properties, popisují názvy nábytku a textur dostupných v softwaru,
  • .html soubory obsahují 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žívat. Nepřesouvejte tedy soubory z jejich složky, nepřejmenovávejte žádnou složku (kromě podsložky en v nápovědě) a nemažte žádnou složku.

Přejmenování souborů v závislosti na vašem jazyce

Před překladem .properties souborů byste měli každý z nich přejmenovat tak, že k jeho názvu přidáte podtržítko, za kterým budou následovat 2 znaky ISO kódu odpovídající 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, měli byste také přejmenovat podsložku en složky help tímto dvoupísmenným kódem.
Například kód ISO pro češtinu je cs. Pokud chcete přeložit Sweet Home 3D do češtiny, měl by být každý název souboru doplněn příponou _cs a soubory byste měli přejmenovat, jak je znázorněno na obrázku 2.

Obrázek 2. Soubory Properties s příponou kódu ISO

Překlad souborů vlastností

Soubory .properties jsou prosté textové soubory a můžete je upravovat v libovolném textovém editoru, jako je Wordpad, TextEdit nebo emacs. Například soubor com/eteks/sweethome3d/package.properties v aplikaci 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=Nepojmenovaný


# Resources for MacOSXConfiguration class
MacOSXConfiguration.WINDOW_MENU.Name=Okno
MacOSXConfiguration.MINIMIZE.Name=Minimalizovat
MacOSXConfiguration.ZOOM.Name=Zvětšit
MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=Přesunout vše dopředu


# Resources for SweetHome3D class
SweetHome3D.3DError.message=<html> Sweet Home 3D bude nyní ukončen z důvodu závažné chyby
    <br>v systému 3D vykreslování. Aktualizujte ovladače DirectX/OpenGL
    <br>vaší grafické karty. 
SweetHome3D.3DError.title=Chyba 3D
    
SweetHome3D.confirmSaveAfter3DError.message=<html> Sweet Home 3D musí být nyní ukončen z důvodu závažné chyby 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, které začínají znakem #, jsou komentáře (v předchozím příkladu zobrazeny zeleně). 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 (v předchozím příkladu zobrazeny modře). Za tímto klíčem obsahuje každý z těchto řádků znaménko rovná se (=) a text v daném jazyce. Vaše práce začíná od znamének rovná se. Neměňte text klíče a nahraďte anglický text za znaménkem rovná se jeho překladem.

Speciální případy:

  • Texty začínající na „ <html> tag obsahují text ve formátu HTML. Tyto texty obsahují některé další HTML tagy mezi < a > znaky, jako <br> v předchozím příkladu , který představuje konec řádku uprostřed dlouhých textů. Neodstraňujte tyto HTML tagy, pomáhají Sweet Home 3D správně prezentovat některé texty. Překlad textu mezi HTML tagy není příliš obtížný, snad kromě nejhoršího HTML textu, kterým je hodnota klíče WallPanel.wallOrientationLabel.text .
  • Aby se předešlo dlouhým řádkům v textovém editoru, některé řádky jsou rozděleny do dvou nebo více řádků a poté odděleny zpětnými lomítky \, jako řádek začínající na SweetHome3D.3DError.message v 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í sekvenci znaků začínající znakem %, jako %s, %d, %1$s, %2$s… Tyto sekvence znaků budou v případě potřeby nahrazeny názvem souboru, jednotkou nebo číslem, takže je neodstraňujte.
    Například sekvence znaků %s v textu následujícího klíče HomeFurniturePanel.widthLabel.text:
    HomeFurniturePanel.widthLabel.text=Šířka (%s):
    bude nahrazena aktuálně používanou jednotkou. Dvě sekvence znaků %1$d a %2$d které se objevují v textu následujícího klíče PrintPreviewPanel.pageLabel.text:
    PrintPreviewPanel.pageLabel.text=Strana  %1$d/%2$d
    se na obrazovce zobrazí jako číslo stránky a počet stránek a vy byste měli přeložit pouze slovo Page.
  • 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\n"%s"
    Tato sekvence znaků je Sweet Home 3D zobrazena jako konec řádku pro rozdělení řádku na obrazovce a neměli byste ji odstraňovat.
  • Hodnota klíče HelpController.helpIndex udává adresář, kde lze nalézt soubory nápovědy. Pokud přeložíte soubory nápovědy .html, měli byste nahradit podsložku en nalezenou dvoupísmenným kódem vašeho jazyka.
    Například, pokud přeloží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íčů, které končí na .mnemonic, používá Sweet Home 3D k odhadnutí, které písmeno v popisku nebo položce nabídky by mělo být podtrženo pro přístup z klávesnice. Toto mnemotechnické 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 mnemotechnické pomůcky zobrazené v dialogovém okně úpravy nábytku:
    HomeFurniturePanel.nameLabel.text=Název:
    HomeFurniturePanel.nameLabel.mnemonic=N
    HomeFurniturePanel.nameVisibleCheckBox.text=Zobrazit název v plánu
    HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S
    HomeFurniturePanel.widthLabel.text=Šířka (%s):
    HomeFurniturePanel.widthLabel.mnemonic=W
    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 importu 3D modelů, která vám pomůže přeložit .properties soubory končící na Catalog.properties.

Převod souborů properties 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 své .properties soubory do kódování ASCII podporovaného Sweet Home 3D. Tento převod lze provést pomocí nástroje native2ascii dodávaného s JDK nebo jej lze provést pomocí následujícího formuláře.
Pro každý soubor .properties vytvořte zálohu tohoto souboru, zkopírujte/vložte text, který chcete převést, do následující textové oblasti, 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, který není ASCII (písmena latinky s diakritikou a nelatinská písmena), sekvencí začínající na \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 poměrně nečitelným, ale pokud jej neprovedete, Sweet Home 3D nebude moci správně zobrazit znaky vašeho překladu. To je důvod, proč byste měli vytvořit zálohu svých 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, která je k dispozici 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 uživatelům to opravdu pomůže naučit se software a vyhnout se některým žádostem o podporu ve fóru Sweet Home 3D. Použijte libovolný editor HTML k překladu těchto souborů a snažte se zachovat odkazy, které obsahuje, a jeho styl nezměněný.
Po přeložení byste měli také vytvořit snímky obrazovky dialogových oken ve svém jazyce, abyste nahradili obrázky nalezené v . Abyste mohli vytvářet 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 dokonce dříve, pokud chcete tento postup otestovat), měli byste je zazipovat do souboru. V závislosti na vašem systému lze vytvoření souboru zip provést následujícím postupem:

  • v systému Windows vyberte složku com obsahující všechny přeložené soubory a z její kontextové nabídky vyberte Odeslat do > Komprimovaná složka,
  • v systému Mac OS X vyberte složku com obsahující všechny přeložené soubory a vyberte položku nabídky Soubor > Komprimovat « com »,
  • v systému Linux vyberte složku com obsahující všechny přeložené soubory, z její kontextové nabídky vyberte Vytvořit archiv… a poté v seznamu formátů vyberte .zip.

Nakonec změňte příponu .zip souboru zip na .sh3l. Soubor SH3L může mít libovolný 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

Chcete-li otestovat překlad, dvakrát klikněte na soubor SH3L nebo jej vyberte pomocí tlačítka Importovat soubor jazykové knihovny zobrazeného v horní části panelu Předvolby. Tím se spustí Sweet Home 3D a přeloží jeho uživatelské rozhraní do jazyka popsaného v souboru SH3L. Tím se také zkopíruje soubor SH3L do složky v závislosti na vašem systému:

  • v systémech Windows Vista / 7 / 8 / 10 / 11 je tato složka C:\Users\uživatel\AppData\Roaming\eTeks\Sweet Home 3D\languages,
  • v systémech Windows XP a starších verzích Windows je tato složka C:\Documents and Settings\uživatel\Application Data\eTeks\Sweet Home 3D\languages,
  • v systému macOS je to podsložka Library/Application Support/eTeks/Sweet Home 3D/languages ve vaší uživatelské složce,
  • v systémech Linux a jiných systémech Unix je to podsložka .eteks/sweethome3d/languages ve vaší uživatelské složce,
  • s přenosnou verzí Sweet Home 3D je to podsložka data/languages ve složce, kde je uložena aplikace Sweet Home 3D,

Měj také na paměti, že během vývoje tvého SH3L souboru budeš pravděpodobně muset Sweet Home 3D restartovat, aby se změny v SH3L souboru projevily.

Distribuce SH3L souborů

Jakmile je tvůj SH3L soubor hotov, můžeš ho nabídnout komukoli, oznámit ho uživatelům Sweet Home 3D ve fóru vyhrazeném pro cizí jazyky nebo na jiných místech. Pokud budeš souhlasit, 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, některé 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ě. Chceš-li najít nové klíče a aktualizované klíče v .properties souborech, můžeš použít funkci nabízenou SourceForge.net, která ti umožní porovnat dvě verze souboru projektu:

  1. 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)
  2. Klikni na .properties nebo .html soubor, který chceš aktualizovat, v obrázku 1,
  3. Zaškrtni dvě zaškrtávací políčka čísla revize odpovídající datu verze pro aktualizovaný soubor a vyber datum, které je těsně před datem verze Sweet Home 3D,
  4. 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 uvolni novou verzi svého překladu.