Bevezetés
Beszélsz egy idegen nyelvet, amelyet a Sweet Home 3D még nem támogat, és szeretnél hozzájárulni a fordításához? A 2.3-as verziótól kezdve a Sweet Home 3D támogatja az SH3L fájlokat, és ez az útmutató megtanítja, 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 adott fájlban leírt nyelvre fordítsák.
Alapvető utasítások
SH3L fájl létrehozása a következőkből áll:
- a fordítandó fájlok angol verziójának letöltése,
- a letöltött fájl kicsomagolása,
- egy 2 betűs utótag hozzáadása, amely megfelel a nyelvednek az általa tartalmazott
.propertiesfájlokhoz, - a szöveg fordítása a
.propertiesfájlokban, - átalakítás ASCII kódolásra,
- a súgó szövegének fordí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, - dupla kattintás 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 riadsz vissza az előző alapvető utasításoktól, folytasd a következő lépésekkel.
Az angol verzió beszerzése
Töltsd le az archívumot a /SweetHome3DTranslation.zip címről (7.5-ös verzió), és csomagold ki a rendszered eszközeivel.
A SweetHome3DTranslation.zip egy fájlkészletet tartalmaz .properties és .html kiterjesztésekkel, amelyek almappákban helyezkednek el, ahogy az 1. ábrán látható.

Az összes .properties és .html fájl tartalmazza az angol nyelvű szövegeket, amelyeket le kell fordítanod a saját 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 szabványos párbeszédpanel-címkéket írnak le, - azok, amelyek
Catalog.properties-re végződnek, a szoftverben elérhető bútorok és textúrák neveit írják le, - a
.htmlfájlok tartalmazzák a Sweet Home 3D súgójának szövegét.
Fájlok átnevezése a nyelvedtől függően
Mielőtt lefordítanád a .properties fájlokat, mindegyiket át kell nevezned ú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, akkor a en almappáját is át kell nevezned ezzel a 2 betűs kóddal.
Például a cseh ISO kódja cs. Ha a Sweet Home 3D-t csehre szeretnéd fordítani, minden fájlnévnek _cs utótagot kell kapnia, és a fájlokat a 2. ábrán látható módon kell átnevezned.

Properties fá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, a TextEdit vagy az 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 2007. október 10. # # Copyright (c) 2024 Space Mushrooms <[email protected]>. Minden jog fenntartva. # # Ez a program ingyenes szoftver; terjeszthető és/vagy módosítható a # GNU General Public License feltételei szerint, ahogyan azt a Free Software # Foundation közzétette; vagy a licenc 2. verziója, vagy (választásod szerint) bármely későbbi # verzió. # # Ez a program azzal a reménnyel kerül terjesztésre, hogy hasznos lesz, de GARANCIA NÉLKÜL; # még a KERESKEDELMI ALKALMASSÁGRA vagy EGY ADOTT CÉLRA VALÓ ALKALMASSÁGRA vonatkozó implicit garancia nélkül sem. # Lásd a GNU General Public License-t további # részletekért. # # Kaptál volna egy másolatot a GNU General Public License-ről a # programmal együtt; ha nem, írj a Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 USA címre. # Erőforrások a HomeFramePane osztályhoz HomeFramePane.untitled=Névtelen # Erőforrások a MacOSXConfiguration osztályhoz MacOSXConfiguration.WINDOW_MENU.Name=Ablak MacOSXConfiguration.MINIMIZE.Name=Minimalizálás MacOSXConfiguration.ZOOM.Name=Nagyítás MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=Mindet előre hoz # Erőforrások a SweetHome3D osztályhoz SweetHome3D.3DError.message=<html> A Sweet Home 3D most kilép 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án. SweetHome3D.3DError.title=3D hiba SweetHome3D.confirmSaveAfter3DError.message=<html> A Sweet Home 3D-nek most ki kell lépnie egy végzetes hiba miatt a <br>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
A .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 információt ad a fejlesztőknek vagy a fordítóknak. Ezeket a sorokat hagyd változatlanul.
- az üres sorok csak a
.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 az egyenlőségjel utáni angol szöveget cseréld le a fordítására.
Különleges esetek:
- A
<html>tag HTML formátumú szöveget tartalmaz. Ezek a szövegek más HTML tageket is tartalmaznak a(z)<és>jelek között, mint például a(z)<br>az előző példában, ami 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, ami a(z)WallPanel.wallOrientationLabel.textkulcs értéke. - A szövegszerkesztőben a hosszú sorok elkerülése érdekében egyes sorok
két vagy több sorra vannak osztva, majd fordított perjelekkel vannak elválasztva
\, mint például a(z) -vel kezdődő sor:SweetHome3D.3DError.messageaz előző példában. Ebben az esetben ne távolítsd el a(z)\jelet, ami egy sor végén található, mert az jelzi, hogy a következő sor az aktuális sort követi. - Néhány szöveg speciális karakterláncot tartalmaz, amely
egy
% jellel kezdődik, mint például a(z)%s,%d,%1$s,%2$s… Ezeket a karakterláncokat szükség esetén fájlnév, egység vagy szám fogja helyettesíteni, ezért ne távolítsd el őket.
Például a(z)%skarakterlánc a következő kulcs szövegében:HomeFurniturePanel.widthLabel.text:
HomeFurniturePanel.widthLabel.text=Szélesség (%s):
az aktuálisan használt egységgel lesz helyettesítve. A két karakterlánc, a(z)%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 jelennek meg, és te csak a(z)Pageszót fordítsd le. - Néhány szöveg tartalmazza a speciális karakterláncot is:
\n, mint a következő példában:HomeController.saveError=Nem lehet menteni az otthont ide: "%s"
Ezt a karakterláncot a Sweet Home 3D sortörésként jeleníti meg, hogy felossza a sort a képernyőn, és nem szabad eltávolítanod őket. - A(z)
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, akkor a(z)enalkönyvtárat a nyelved 2 betűs kódjával kell helyettesítened.
Például, ha cseh nyelvre fordítod a súgót, akkor így kell kinéznie:HelpController.helpIndex=/com/eteks/sweethome3d/viewcontroller/resources/help/cs/index.html
- A(z)
.mnemonic-vel végződő 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 egyedit kell találnod.
Például a következő szövegek és mnemonikák jelennek meg a bútor módosítási párbeszédpanelen: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
franciául így fordítható: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
- Használd a Sweet Home 3D-t vagy a 3D modellek importálási oldalát, hogy segítsen lefordítani a(z)
.propertiesfájlokat, amelyekCatalog.properties-vel végződnek.
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és nyelvek), akkor az összes .properties fájlt a Sweet Home 3D által támogatott ASCII kódolásra kell konvertálnod. Ez a konverzió elvégezhető a JDK-val együtt szállított native2ascii eszközzel, vagy az alábbi űrlappal.
Minden .properties fájlhoz készíts biztonsági másolatot, másold be a konvertálandó szöveget az alábbi szövegmezőbe, kattints a Konvertálás gombra, majd másold vissza a konvertált szöveget a(z) .properties fájlba.
A konverziós eszköz minden nem ASCII karaktert (ékezetes latin betűk és nem latin betűk) egy \u-vel kezdődő, majd egy 4 hexadecimális számjegyből álló kóddal helyettesít, amely az adott karakternek felel meg Unicode-ban. Sajnos ez a konverzió meglehetősen olvashatatlanná teszi a szövegedet egy 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 fog a felhasználóknak a szoftver megismerésében és elkerülni néhány támogatási kérést a Sweet Home 3D fórumban. Használj bármilyen HTML szerkesztőt ezeknek a fájloknak a fordításához, próbáld meg érintetlenül hagyni a benne lévő linkeket és a stíluslapját.
Miután lefordítottad, készíts képernyőfelvételeket a párbeszédpanelekről a nyelveden, hogy lecseréld a(z) com/eteks/sweethome3d/viewcontroller/resources/help/en/images-ben 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 lefordításra és szükség esetén ASCII-re konvertálásra került (vagy akár előtte, ha tesztelni szeretnéd ezt az eljárást), tömörítsd ő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 lefordított fájlokat tartalmazó
commappát, és a helyi menüből válaszd a Küldés ide > Tömörített mappa lehetőséget, - Mac OS X alatt válaszd ki a lefordított fájlokat tartalmazó
commappát, és válaszd a Fájl > Tömörítés « com » menüpontot, - Linux alatt válaszd ki a lefordított fájlokat tartalmazó
commappát, válaszd a Archívum létrehozása… lehetőséget a helyi menüből, 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 esetleges ütközések elkerülése érdekében a benne lévő nyelv és a lefordított Sweet Home 3D verzió alapján nevezd el (például a(z) 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
, amely a Beállítások panel tetején látható. 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 a C:\Users\felhasználó\AppData\Roaming\eTeks\Sweet Home 3D\languages,
- Windows XP és korábbi Windows verziók alatt ez a mappa a C:\Documents and Settings\felhasználó\Application Data\eTeks\Sweet Home 3D\languages,
- macOS alatt ez a felhasználói mappád Library/Application Support/eTeks/Sweet Home 3D/languages alkönyvtára,
- Linux és más Unix rendszerek alatt ez a felhasználói mappád .eteks/sweethome3d/languages alkönyvtára,
- a Sweet Home 3D hordozható verziójával a Sweet Home 3D alkalmazás tárolási mappájának data/languages alkönyvtára,
Ne feledd, 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ájlban.
SH3L fájlok terjesztése
Miután elkészült az SH3L fájlod, felajánlhatod bárkinek, közzéteheted a Sweet Home 3D felhasználók számára a külföldi nyelveknek fenntartott fórumrészben vagy más helyeken. Ha beleegyezel, elérhetővé tehetjük 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 hoznak, 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 fog megjelenni. 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, amelyet frissíteni szeretnél az 1. ábrán, - Válaszd ki a frissített fájl verziódátumának megfelelő revíziószám két jelölőnégyzetét, úgy, hogy a Sweet Home 3D egy verziódátuma előtti dátumot választod,
- Kattints az Összehasonlítás gombra.
Az utolsó kattintás megmutatja az .properties fájl két verziója közötti különbségeket (például ez a link megmutatja a 4.6-os és az 5.0-s verzió közötti különbségeket 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.
