Fordítási útmutató
Bevezetés
Olyan idegen nyelven beszélsz, amelyet a Sweet Home 3D még nem támogat, és szeretnél hozzájárulni a fordításához erre a nyelvre? A 2.3-as verziótól kezdve a Sweet Home 3D támogatja az SH3L fájlokat, és ez az útmutató megtanít, hogyan hozhatsz létre ilyen fájlt magad. Az SH3L fájl egy automatikusan telepíthető nyelvi fájl, és a felhasználóknak csak duplán kell kattintaniuk egy SH3L fájlra, hogy a Sweet Home 3D-t az abban a fájlban leírt nyelvre fordítsák.
Alapvető utasítások
Egy SH3L fájl létrehozása a következőkből áll:
- az angol nyelvű fájlok letöltése a fordításhoz,
- a letöltött fájl kicsomagolása,
- egy nyelvednek megfelelő 2 betűs utótag hozzáadása a benne található
.propertiesfájlokhoz, - a szöveg lefordítása a
.propertiesfájlokban, - átalakításuk ASCII kódolásra,
- a súgószöveg lefordítása a
.htmlfájlokban (nem kötelező, de nagyon hasznos lesz a felhasználók számára), - a
.propertiesfájlok és a súgófájlok visszacsomagolása egy SH3L kiterjesztésű fájlba, - duplán kattintva az SH3L fájlra a fordítás teszteléséhez a Sweet Home 3D-ben,
- az SH3L fájl terjesztése.
Részletes utasítások
Ha nem riasztanak el az előző alapvető utasítások, folytasd a következő lépésekkel.
Az angol verzió beszerzése
Töltsd le az archívumot a https://www.sweethome3d.com/SweetHome3DTranslation.zip címről (7.5-ös verzió), és csomagold ki a rendszered eszközeivel.
SweetHome3DTranslation.zip fájl .properties és .html kiterjesztésű fájlokat tartalmaz almappákba helyezve, az 1. ábrán látható módon.

Az összes .properties és .html fájl tartalmazza a szövegek angol verzióját, amelyeket le kell fordítanod a nyelvedre:
- a
package.propertiesfájlok leírják a Sweet Home 3D felhasználói felületén megjelenő címkéket, menüket és menüpontokat, - a
basic.propertiesésmetal.propertiesfájlok a standard párbeszédpanel-címkéket írják le, - a
Catalog.propertiesvégződésűek a szoftverben elérhető bútorok és textúrák nevét írják le, - a
.htmlfájlok tartalmazzák a Sweet Home 3D súgójának szövegét.

A .properties fájlokat az 1. ábrán látható mappákba kell helyezni. Ellenkező esetben a Sweet Home 3D nem fogja tudni helyesen használni őket. Ezért ne helyezd át a fájlokat a mappájukból, ne nevezz át semmilyen mappát (kivéve a en help almappáját), és ne törölj semmilyen mappát.
Fájlok átnevezése a nyelved szerint
Mielőtt lefordítanád a .properties fájlokat, át kell nevezned mindegyiket úgy, hogy a nevükhöz hozzáadsz egy aláhúzást, majd a nyelvednek megfelelő 2 karakteres ISO kódot. Ezt a kódot a https://www.loc.gov/standards/iso639-2/php/English_list.php dokumentum utolsó oszlopában találod.
Ezután, ha le szeretnéd fordítani a súgófájlokat, a en help almappáját is át kell nevezned ezzel a 2 betűs kóddal.
Például a cseh ISO kódja cs. Ha csehre szeretnéd fordítani a Sweet Home 3D-t, minden fájlnévnek _cs utótagot kell kapnia, és a fájlokat a 2. ábrán látható módon kell átnevezned.

Tulajdonságfájlok fordítása
A .properties fájlok egyszerű szöveges fájlok, és bármilyen szövegszerkesztővel szerkesztheted őket, mint például a Wordpad, TextEdit vagy emacs. Például a Sweet Home 3D 3.0-ban található com/eteks/sweethome3d/package.properties fájl a következő szöveget tartalmazza:
# 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=Névtelen # Resources for MacOSXConfiguration class MacOSXConfiguration.WINDOW_MENU.Name=Ablak MacOSXConfiguration.MINIMIZE.Name=Minimalizálás MacOSXConfiguration.ZOOM.Name=Nagyítás MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=Összes előre hozása # Resources for SweetHome3D class SweetHome3D.3DError.message=<html> A Sweet Home 3D most leáll egy végzetes hiba miatt\ <br>a 3D renderelő rendszerben. Kérjük, frissítsd a DirectX/OpenGL illesztőprogramokat\ <br>a számítógéped videokártyájához. SweetHome3D.3DError.title=3D hiba SweetHome3D.confirmSaveAfter3DError.message=<html> A Sweet Home 3D-nek most le kell állnia egy végzetes hiba miatt\ <br>a 3D renderelő rendszerben. Szeretnéd menteni az összes módosított otthont? SweetHome3D.confirmSaveAfter3DError.title=3D hiba SweetHome3D.confirmSaveAfter3DError.save=Mentés SweetHome3D.confirmSaveAfter3DError.doNotSave=Ne mentse
Egy .properties fájl háromféle sort tartalmaz:
- a # karakterrel kezdődő sorok megjegyzések (az előző példában zölddel jelölve). Néhány megjegyzés jogi információkat tartalmaz, néhány pedig fejlesztőknek vagy fordítóknak szóló információkat. Ezeket a sorokat hagyd változatlanul.
- az üres sorok csak egy
.propertiesfájl különböző részeinek elválasztására szolgálnak. - a többi sor valamilyen szöveggel kezdődik, amelyet a Sweet Home 3D kulcsként használ a képernyőn megjelenő szöveg megtalálásához (az előző példában kékkel jelölve). Ezt a kulcsot követően minden ilyen sor tartalmaz egy egyenlőségjelet (
=) és egy szöveget egy adott nyelven. A munkád az egyenlőségjelektől kezdődik. Ne változtasd meg a kulcs szövegét, és cseréld ki az egyenlőségjel utáni angol szöveget a fordítására.
Különleges esetek:
- Azok a szövegek, amelyek egy „
<html>” tag HTML formátumú szöveget tartalmaz. Ezek a szövegek más HTML tageket is tartalmaznak „<és>” jelek között, mint például a „<br>” az előző példában, amely egy sortörést jelent hosszú szövegek közepén. Ne távolítsd el ezeket a HTML tageket, segítenek a Sweet Home 3D-nek helyesen megjeleníteni bizonyos szövegeket. A HTML tagek közötti szöveg fordítása nem túl nehéz, kivéve talán a legrosszabb HTML szöveget, amely aWallPanel.wallOrientationLabel.textkulcs értéke. - A hosszú sorok elkerülése érdekében a szövegszerkesztőben néhány sor
két vagy több sorra van osztva, és utána fordított perjelekkel van elválasztva „
\”, mint például a „SweetHome3D.3DError.message” az előző példában. Ebben az esetben ne távolítsd el a „\” jelet, amely egy sor végén található, mert azt jelzi, hogy a következő sor az aktuális sort követi. - Néhány szöveg speciális karaktersorozatot tartalmaz, amely egy
% jellel kezdődik, mint például%s,%d,%1$s,%2$s… Ezeket a karaktersorozatokat szükség esetén fájlnév, mértékegység vagy szám fogja helyettesíteni, ezért ne távolítsd el őket.
Például a karaktersorozat „%s” a következő kulcs szövegében „HomeFurniturePanel.widthLabel.text:
HomeFurniturePanel.widthLabel.text=Szélesség (%s):
” az aktuálisan használt mértékegységgel lesz helyettesítve. A két karaktersorozat „%1$dés%2$d” amelyek a következő kulcs szövegében jelennek meg „PrintPreviewPanel.pageLabel.text:
PrintPreviewPanel.pageLabel.text=Oldal „ %1$d/%2$d
” a képernyőn oldalszámként és oldalszámként fog megjelenni, és csak az szótPagekell lefordítanod. - Néhány szöveg tartalmazza a speciális karaktersorozatot is „
\n”, mint például a következő példában: „HomeController.saveError=Nem lehet menteni az otthont ide:\n"%s"
” Ezt a karaktersorozatot a Sweet Home 3D sortörésként jeleníti meg egy sor felosztásához a képernyőn, és nem szabad eltávolítanod őket. - A
HelpController.helpIndexkulcs értéke azt a könyvtárat jelzi, ahol a súgófájlok találhatók. Ha lefordítod a .htmlsúgófájlokat, a találtenalkönyvtárat a nyelved 2 betűs kódjával kell helyettesítened.
Például, ha csehre fordítod a súgót, akkor így kell kinéznie:HelpController.helpIndex=/com/eteks/sweethome3d/viewcontroller/resources/help/cs/index.html
- A
.mnemonicvégződésű kulcsok szövegét a Sweet Home 3D arra használja, hogy kitalálja, melyik betűt kell aláhúzni egy címkében vagy menüpontban a billentyűzetes hozzáféréshez. Ez a mnemonikus betű a megjelenített szótól függ, és minden párbeszédpanelen vagy menüben egyedi betűt kell találnod.
Például a bútor módosító párbeszédpanelen megjelenő következő szövegek és mnemonikák:HomeFurniturePanel.nameLabel.text=Név: HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Név megjelenítése a terven HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S HomeFurniturePanel.widthLabel.text=Szélesség (%s): HomeFurniturePanel.widthLabel.mnemonic=W
fordítható franciául a következőképpen: „HomeFurniturePanel.nameLabel.text=Név: HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Név megjelenítése a terven HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S HomeFurniturePanel.widthLabel.text=Szélesség (%s): HomeFurniturePanel.widthLabel.mnemonic=L
- Használd a Sweet Home 3D-t vagy a 3D modellek importálási oldalát, hogy segítsen lefordítani a
.propertiesfájlokat, amelyekCatalog.propertiesvégződésűek.
Tulajdonságfájlok konvertálása ASCII kódolásra
Ha olyan nyelvre fordítottál szövegeket, amelynek betűi nem tartoznak az ISO-8859-1 kódoláshoz (főként közép- és kelet-európai nyelvek, valamint nem latin ábécével rendelkező nyelvek), akkor az összes .properties fájlt át kell alakítanod a Sweet Home 3D által támogatott ASCII kódolásra. Ez az átalakítás elvégezhető a JDK-val együtt szállított native2ascii eszközzel, vagy elvégezhető a következő űrlappal.
Minden .properties fájlhoz készíts biztonsági másolatot, másold/illesszd be a konvertálandó szöveget a következő szövegmezőbe, kattints a Konvertálás gombra, és másold/illesszd vissza a konvertált szöveget a .properties fájlba.
Az átalakító eszköz minden nem ASCII karaktert (ékezetes latin betűket és nem latin betűket) egy \u jellel kezdődő, majd egy 4 hexadecimális számjegyből álló kóddal helyettesít, amely a karakter Unicode megfelelője. Sajnos ez az átalakítás meglehetősen olvashatatlanná teszi a szöveget az ember számára, de ha nem végzed el, a Sweet Home 3D nem fogja tudni helyesen megjeleníteni a fordításod karaktereit. Ezért kell biztonsági másolatot készítened az eredeti .properties fájljaidról, arra az esetre, ha később módosítani szeretnéd őket.
Ha közvetlenül szeretnéd szerkeszteni az ASCII-re konvertált .properties fájlokat, használhatod a Properties Editor alkalmazást is, amely Jar futtatható fájlként itt érhető el.
A súgófájlok fordítása
A Sweet Home 3D jó fordításának tartalmaznia kell a súgófájlok fordítását is. Az összes .html fájl lefordítása hosszú feladat, de valóban segíteni fogja a felhasználókat a szoftver megismerésében és elkerüli a Sweet Home 3D fórumon felmerülő támogatási kéréseket. Használj bármilyen HTML szerkesztőt ezeknek a fájloknak a fordításához, próbáld meg változatlanul hagyni a benne található linkeket és stíluslapot.
Miután lefordítottad, készíts képernyőfelvételeket a párbeszédpanelekről a nyelveden, hogy lecseréld a com/eteks/sweethome3d/viewcontroller/resources/help/en/images fájlban található képeket. Ahhoz, hogy ilyen képernyőfelvételeket készíthess, hozz létre és tesztelj egy első SH3L fájlt a következő lépésekkel (miután létezik egy lefordított .properties fájlokat tartalmazó SH3L fájl, kérheted a Sweet Home 3D fejlesztőjét is, hogy generálja a képernyőfelvételeket).
Az SH3L fájl létrehozása
Miután az összes .properties és .html fájl le van fordítva és szükség esetén ASCII-re van konvertálva (vagy akár előtte, ha tesztelni szeretnéd ezt az eljárást), be kell tömörítened őket egy fájlba. A rendszeredtől függően a zip fájl létrehozása a következő eljárással történhet:
- Windows alatt válaszd ki a
commappát, amely tartalmazza az összes lefordított fájlt, és válaszd a helyi menüből a Küldés ide > Tömörített mappa lehetőséget, - Mac OS X alatt válaszd ki a
commappát, amely tartalmazza az összes lefordított fájlt, és válaszd a Fájl > Tömörítés « com » menüpontot, - Linux alatt válaszd ki a
commappát, amely tartalmazza az összes lefordított fájlt, válaszd a helyi menüből az Archívum létrehozása… lehetőséget, majd válaszd a .zip-et a formátumlistából.
Végül változtasd meg a zip fájl .zip kiterjesztését .sh3l-re. Egy SH3L fájl bármilyen nevet kaphat, de az existing SH3L fájlokkal való ütközések elkerülése érdekében a benne lévő nyelv és a lefordított Sweet Home 3D verzió alapján kell elnevezned (például a French-4.1.sh3l jó név lehet a Sweet Home 3D 4.1 francia fordításához).
SH3L fájl tesztelése
A fordítás teszteléséhez kattints duplán egy SH3L fájlra, vagy válaszd ki a Nyelvi könyvtárfájl importálása gombbal
a Beállítások panel tetején megjelenő. Ez elindítja a Sweet Home 3D-t, és lefordítja a felhasználói felületét az SH3L fájlban leírt nyelvre. Ez a SH3L fájlt is átmásolja egy mappába a rendszeredtől függően:
- Windows Vista / 7 / 8 / 10 / 11 alatt ez a mappa: C:\Users\user\AppData\Roaming\eTeks\Sweet Home 3D\languages,
- Windows XP és korábbi Windows verziók alatt ez a mappa: C:\Documents and Settings\user\Application Data\eTeks\Sweet Home 3D\languages,
- macOS alatt ez a felhasználói mappád Library/Application Support/eTeks/Sweet Home 3D/languages almappája,
- Linux és más Unix rendszerek alatt ez a felhasználói mappád .eteks/sweethome3d/languages almappája,
- a Sweet Home 3D hordozható verziójával a Sweet Home 3D alkalmazás tárolási mappájának data/languages almappája,
Azt is vedd figyelembe, hogy az SH3L fájl fejlesztése során valószínűleg újra kell indítanod a Sweet Home 3D-t, hogy lásd a változásokat az SH3L fájlodban.
SH3L fájlok terjesztése
Miután elkészült az SH3L fájlod, felajánlhatod bárkinek, bejelentheted a Sweet Home 3D felhasználóknak a külföldi nyelveknek fenntartott fórumrészben vagy más helyeken. Ha beleegyezel, elérhetővé tehető ezen a weboldalon a Sweet Home 3D által támogatott fordításokról szóló oldalon.
SH3L fájlok frissítése
A Sweet Home 3D egyes kiadásai új fordítandó funkciókat tartalmaznak, mások nem. Ha nem fordítod le az ezekhez az új funkciókhoz tartozó felhasználói felület címkéit, a Sweet Home 3D működni fog, de az összes új címke angolul jelenik meg. Az új és frissített kulcsok megtalálásához az .properties fájlokban használhatod a SourceForge.net által kínált funkciót, amely lehetővé teszi egy projektfájl két verziójának összehasonlítását:
- Keresd meg az összehasonlítani kívánt Sweet Home 3D verziók dátumait az előzményekben (például 2015. július 19. az 5.0-ás verzióhoz és 2015. február 2. a 4.6-os verzióhoz)
- Kattints az
.propertiesvagy.htmlfájlra, amit frissíteni szeretnél az 1. ábrán, - Válaszd ki a két jelölőnégyzetet a frissített fájl verziódátumának megfelelő revíziószámhoz, úgy, hogy azt a dátumot válaszd, amely közvetlenül a Sweet Home 3D egyik verziódátuma előtt van,
- Kattints az Összehasonlítás gombra.
Az utolsó kattintás megmutatja a különbségeket az .properties fájl két verziója között (például ez a link megmutatja a különbségeket a 4.6-os és az 5.0-ás verzió között az com/eteks/sweethome3d/viewcontroller/package.properties fájlban).
Miután megtaláltad a különbségeket, frissítsd a fordításodat, szükség esetén új kulcsneveket adva hozzá, és adj ki egy új verziót a fordításodból.