Vodnik za prevajanje
Uvod
Govoriš tuj jezik, ki še ni podprt v Sweet Home 3D, in bi rad prispeval k njegovemu prevodu v ta jezik? Od različice 2.3 Sweet Home 3D podpira datoteke SH3L in ta vodnik te bo naučil, kako sam ustvariti takšno datoteko. Datoteka SH3L je samoinštalacijska jezikovna datoteka in uporabniki morajo le dvoklikniti na datoteko SH3L, da prevedejo Sweet Home 3D v jezik, opisan v tej datoteki.
Osnovna navodila
Ustvarjanje datoteke SH3L vključuje:
- prenos angleške različice datotek za prevajanje,
- razpakiranje prenesene datoteke,
- dodajanje dvočrkovne pripone, ki ustreza tvojemu jeziku, k
.propertiesdatotekam, ki jih vsebuje, - prevajanje besedila v
.propertiesdatotekah, - pretvorba v kodiranje ASCII,
- prevajanje besedila pomoči v
.htmldatotekah (ni obvezno, vendar bo zelo koristno za uporabnike), - pakiranje
.propertiesdatotek in datotek pomoči nazaj v datoteko s pripono SH3L, - dvoklik na datoteko SH3L za preizkus prevoda v Sweet Home 3D,
- distribucija tvoje datoteke SH3L.
Podrobna navodila
Če te ne prestrašijo prejšnja osnovna navodila, nadaljuj z naslednjimi koraki.
Pridobivanje angleške različice
Prenesi arhiv na https://www.sweethome3d.com/SweetHome3DTranslation.zip (različica 7.5) in ga razpakiraj z orodji svojega sistema.
SweetHome3DTranslation.zip vsebuje nabor datotek s priponami .properties in .html, nameščenih v podmapah, kot je prikazano na sliki 1.

Vse .properties in .html datoteke vsebujejo angleško različico besedil, ki jih boš moral prevesti v svoj jezik:
package.propertiesdatoteke opisujejo oznake, menije in elemente menijev, prikazane v uporabniškem vmesniku Sweet Home 3D,basic.propertiesinmetal.propertiesdatoteke opisujejo standardne oznake pogovornih oken,- tiste, ki se končajo z
Catalog.properties, opisujejo imena pohištva in teksture, ki so na voljo v programski opremi, .htmldatoteke vsebujejo besedilo pomoči Sweet Home 3D.

.properties datoteke morajo biti nameščene v mapah, prikazanih na sliki 1, sicer jih Sweet Home 3D ne bo mogel pravilno uporabljati. Zato datotek ne premikaj iz njihovih map, ne preimenuj nobene mape (razen podmape en v help) in ne izbriši nobene mape.
Preimenovanje datotek glede na tvoj jezik
Preden prevedeš .properties datoteke, bi moral vsako preimenovati tako, da njenemu imenu dodaš podčrtaj, ki mu sledi dvočrkovna koda ISO, ki ustreza tvojemu jeziku. To kodo boš našel v zadnjem stolpcu dokumenta https://www.loc.gov/standards/iso639-2/php/English_list.php.
Nato, če želiš prevesti datoteke pomoči, bi moral preimenovati tudi podmapo en v help s to dvočrkovno kodo.
Na primer, koda ISO za češčino je cs. Če želiš prevesti Sweet Home 3D v češčino, bi moralo biti vsako ime datoteke dopolnjeno s pripono _cs, datoteke pa bi moral preimenovati, kot je prikazano na sliki 2.

Prevajanje datotek lastnosti
.properties datoteke so navadne besedilne datoteke in jih lahko urejaš s katerim koli urejevalnikom besedil, kot so Wordpad, TextEdit ali emacs. Na primer, datoteka com/eteks/sweethome3d/package.properties v Sweet Home 3D 3.0 vsebuje naslednje besedilo:
# package.properties 10 oct. 2007 # # Copyright (c) 2024 Space Mushrooms <[email protected]>. Vse pravice pridržane. # # Ta program je brezplačna programska oprema; lahko jo redistribuiraš in/ali spreminjaš pod # pogoji splošne javne licence GNU, kot jo je objavila Fundacija za prosto programsko opremo; # bodisi različica 2 licence ali (po tvoji izbiri) katera koli kasnejša # različica. # # Ta program je distribuiran v upanju, da bo koristen, vendar BREZ # KAKRŠNE KOLI GARANCIJE; brez celo implicitne garancije TRŽNOSTI ali PRIMERNOSTI # ZA DOLOČEN NAMEN. Za več # podrobnosti glej splošno javno licenco GNU. # # Kopijo splošne javne licence GNU bi moral prejeti skupaj s # tem programom; če ne, piši Fundaciji za prosto programsko opremo, Inc., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 ZDA # Viri za razred HomeFramePane HomeFramePane.untitled=Brez naslova # Viri za razred MacOSXConfiguration MacOSXConfiguration.WINDOW_MENU.Name=Okno MacOSXConfiguration.MINIMIZE.Name=Pomanjšaj MacOSXConfiguration.ZOOM.Name=Povečaj MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=Prikaži vse spredaj # Viri za razred SweetHome3D SweetHome3D.3DError.message=<html> Sweet Home 3D se bo zdaj zaprl zaradi usodne napake <br>v sistemu 3D upodabljanja. Posodobi gonilnike DirectX/OpenGL <br>svoje grafične kartice. SweetHome3D.3DError.title=Napaka 3D SweetHome3D.confirmSaveAfter3DError.message=<html> Sweet Home 3D se mora zdaj zapreti zaradi usodne napake v <br>sistemu 3D upodabljanja. Ali želiš shraniti vse spremenjene domove? SweetHome3D.confirmSaveAfter3DError.title=Napaka 3D SweetHome3D.confirmSaveAfter3DError.save=Shrani SweetHome3D.confirmSaveAfter3DError.doNotSave=Ne shrani
Datoteka .properties vsebuje tri vrste vrstic:
- vrstice, ki se začnejo z znakom #, so komentarji (prikazani zeleno v prejšnjem primeru). Nekateri komentarji vsebujejo pravne informacije, nekateri pa informacije za razvijalce ali prevajalce. Te vrstice pusti nespremenjene.
- prazne vrstice se uporabljajo samo za ločevanje različnih delov datoteke
.properties. - druge vrstice se začnejo z besedilom, ki ga Sweet Home 3D uporablja kot ključ za iskanje besedila, prikazanega na zaslonu (prikazano modro v prejšnjem primeru). Za tem ključem vsaka od teh vrstic vsebuje znak enakosti (
=) in besedilo v določenem jeziku. Tvoje delo se začne pri znakih enakosti. Ne spreminjaj besedila ključa in angleško besedilo za znakom enakosti zamenjaj z njegovim prevodom.
Posebni primeri:
- Besedila, ki se začnejo z
<html>oznaka vsebuje besedilo v formatu HTML. Ta besedila vsebujejo nekatere druge HTML oznake med<in>znaki, kot je<br>v prejšnjem primeru, ki predstavlja prelom vrstice sredi dolgih besedil. Ne odstranjuj teh HTML oznak, saj pomagajo Sweet Home 3D pravilno prikazati nekatera besedila. Prevajanje besedila med HTML oznakami ni zelo težko, razen morda za najslabše HTML besedilo, ki je vrednost ključaWallPanel.wallOrientationLabel.text. - Da bi se izognili dolgim vrsticam v urejevalniku besedil, so nekatere vrstice
razdeljene na dve ali več vrstic in nato ločene z obratnimi poševnicami
\, kot je vrstica, ki se začne zSweetHome3D.3DError.messagev prejšnjem primeru. V tem primeru ne odstranjuj\znaka, ki se nahaja na koncu vrstice, ker označuje, da naslednja vrstica sledi trenutni vrstici. - Nekatera besedila vsebujejo zaporedje posebnih znakov, ki se začne
z znakom %
, kot so%s,%d,%1$s,%2$s… Ta zaporedja znakov bodo po potrebi zamenjana z imenom datoteke, enoto ali številko, zato jih ne odstranjuj.
Na primer, zaporedje znakov%sv besedilu naslednjega ključaHomeFurniturePanel.widthLabel.text:
HomeFurniturePanel.widthLabel.text=Širina (%s):
bo zamenjano z enoto, ki je trenutno v uporabi. Dve zaporedji znakov%1$din%2$d, ki se pojavita v besedilu naslednjega ključaPrintPreviewPanel.pageLabel.text:
PrintPreviewPanel.pageLabel.text=Stran %1$d/%2$d
se bosta na zaslonu prikazala kot številka strani in skupno število strani, ti pa bi moral prevesti samo besedoPage. - Nekatera besedila vsebujejo tudi zaporedje posebnih znakov
\n, kot v naslednjem primeru:HomeController.saveError=Ne morem shraniti doma v „%s“
To zaporedje znakov Sweet Home 3D prikaže kot prelom vrstice za razdelitev vrstice na zaslonu, in jih ne bi smel odstraniti. - Vrednost ključa
HelpController.helpIndexoznačuje imenik, kjer se nahajajo datoteke pomoči. Če prevajaš datoteke pomoči .html, bi moral podmapoenzamenjati z dvočrkovno kodo tvojega jezika.
Na primer, če prevajaš pomoč v češčino, bi moralo postati:HelpController.helpIndex=/com/eteks/sweethome3d/viewcontroller/resources/help/cs/index.html
- Besedilo ključev, ki se končajo z
.mnemonic, Sweet Home 3D uporablja za ugibanje, katera črka v oznaki ali elementu menija naj bo podčrtana za dostop s tipkovnico. Ta mnemonična črka je odvisna od prikazane besede in moral bi najti edinstveno za vsako pogovorno okno ali meni.
Na primer, naslednja besedila in mnemonične oznake, prikazane v pogovornem oknu za spreminjanje pohištva:HomeFurniturePanel.nameLabel.text=Ime: HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Prikaži ime v načrtu HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S HomeFurniturePanel.widthLabel.text=Širina (%s): HomeFurniturePanel.widthLabel.mnemonic=W
se lahko prevede v francoščino kot: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
- Uporabi Sweet Home 3D ali stran za uvoz 3D modelov, da ti pomaga prevesti
.propertiesdatoteke, ki se končajo zCatalog.properties.
Pretvorba datotek lastnosti v kodiranje ASCII
Če si prevajal besedila v jezik z znaki, ki ne spadajo v kodiranje ISO-8859-1 (predvsem jeziki Srednje in Vzhodne Evrope ter jeziki z nelatinično abecedo), boš moral vse svoje .properties datoteke pretvoriti v kodiranje ASCII, ki ga podpira Sweet Home 3D. To pretvorbo lahko izvedeš z orodjem native2ascii, ki je priloženo JDK, ali pa jo izvedeš z naslednjim obrazcem.
Za vsako datoteko .properties ustvari varnostno kopijo te datoteke, kopiraj/prilepi besedilo za pretvorbo v naslednje besedilno polje, klikni gumb Pretvori in kopiraj/prilepi pretvorjeno besedilo nazaj v svojo datoteko .properties.
Orodje za pretvorbo bo vsak ne-ASCII znak (naglašene latinične črke in nelatinične črke) zamenjalo z zaporedjem, ki se začne z \u in mu sledi 4-mestna šestnajstiška koda, ki ustreza temu znaku v Unicode. Na žalost bo ta pretvorba tvoje besedilo naredila precej neberljivo za človeka, vendar če je ne izvedeš, Sweet Home 3D ne bo mogel pravilno prikazati znakov tvojega prevoda. Zato bi moral ustvariti varnostno kopijo svojih izvirnih .properties datotek, v primeru, da jih želiš kasneje spremeniti.
Če želiš neposredno urejati .properties datoteke, pretvorjene v ASCII, lahko uporabiš tudi aplikacijo Properties Editor, ki je na voljo kot izvedljiva datoteka Jar tukaj.
Prevajanje datotek pomoči
Dober prevod Sweet Home 3D bi moral vključevati tudi prevod datotek pomoči. Prevajanje vseh .html datotek je dolgotrajno opravilo, vendar bo uporabnikom resnično pomagalo pri učenju programske opreme in preprečilo nekatere zahteve za podporo na forumu Sweet Home 3D. Za prevajanje teh datotek uporabi kateri koli urejevalnik HTML, pri čemer poskusi ohraniti povezave, ki jih vsebuje, in njegovo slogovno predlogo nespremenjene.
Ko je prevedeno, bi moral ustvariti tudi posnetke zaslona pogovornih oken v svojem jeziku, da zamenjaš slike, ki jih najdeš v com/eteks/sweethome3d/viewcontroller/resources/help/en/images. Da bi lahko ustvaril takšne posnetke zaslona, ustvari in preizkusi prvo datoteko SH3L z naslednjimi koraki (ko datoteka SH3L, ki vsebuje prevedene .properties datoteke, obstaja, lahko tudi zaprosiš razvijalca Sweet Home 3D, da ustvari posnetke zaslona).
Ustvarjanje datoteke SH3L
Ko so vse .properties in .html datoteke prevedene in po potrebi pretvorjene v ASCII (ali celo prej, če želiš preizkusiti ta postopek), jih moraš stisniti v datoteko. Odvisno od tvojega sistema, lahko ustvarjanje zip datoteke poteka po naslednjem postopku:
- v sistemu Windows izberi mapo
com, ki vsebuje vse prevedene datoteke, in iz kontekstnega menija izberi Pošlji v > Stisnjeno mapo, - v sistemu Mac OS X izberi mapo
com, ki vsebuje vse prevedene datoteke, in izberi element menija Datoteka > Stisni „com“, - v sistemu Linux izberi mapo
com, ki vsebuje vse prevedene datoteke, iz kontekstnega menija izberi Ustvari arhiv…, nato pa na seznamu formatov izberi .zip.
Na koncu spremeni pripono .zip zip datoteke v .sh3l. Datoteka SH3L lahko ima poljubno ime, vendar da bi se izognil konfliktom z obstoječimi datotekami SH3L, bi jo moral poimenovati po jeziku, ki ga vsebuje, in različici Sweet Home 3D, ki si jo prevedel (na primer, French-4.1.sh3l bi bilo dobro ime za francoski prevod Sweet Home 3D 4.1).
Preizkušanje datoteke SH3L
Za preizkus prevoda dvoklikni na datoteko SH3L ali jo izberi z gumbom Uvozi datoteko jezikovne knjižnice
, prikazanim na vrhu podokna Nastavitve. To bo zagnalo Sweet Home 3D in prevedlo njegov uporabniški vmesnik v jezik, opisan v datoteki SH3L. To bo tudi kopiralo datoteko SH3L v mapo, odvisno od tvojega sistema:
- v sistemu Windows Vista / 7 / 8 / 10 / 11 je ta mapa C:\Users\uporabnik\AppData\Roaming\eTeks\Sweet Home 3D\languages,
- v sistemu Windows XP in prejšnjih različicah sistema Windows je ta mapa C:\Documents and Settings\uporabnik\Application Data\eTeks\Sweet Home 3D\languages,
- v sistemu macOS je to podmapa Library/Application Support/eTeks/Sweet Home 3D/languages tvoje uporabniške mape,
- v sistemu Linux in drugih Unix sistemih je to podmapa .eteks/sweethome3d/languages tvoje uporabniške mape,
- s prenosno različico Sweet Home 3D je to podmapa data/languages mape, kjer je shranjena aplikacija Sweet Home 3D,
Upoštevaj tudi, da boš med razvojem svoje SH3L datoteke verjetno moral ponovno zagnati Sweet Home 3D, da vidiš spremembe v svoji SH3L datoteki.
Distribucija SH3L datotek
Ko je tvoja SH3L datoteka pripravljena, jo lahko predlagaš komurkoli, jo objaviš uporabnikom Sweet Home 3D v delu foruma, namenjenem tujim jezikom ali na drugih mestih. Če se strinjaš, jo lahko objavimo na tej spletni strani na strani o prevodih, ki jih podpira Sweet Home 3D.
Posodabljanje SH3L datotek
Nekatere izdaje Sweet Home 3D prinašajo nove funkcije za prevajanje, druge ne. Če ne prevedeš oznak uporabniškega vmesnika, ki se nanašajo na te nove funkcije, bo Sweet Home 3D deloval, vendar se bodo vse nove oznake prikazale v angleščini. Za iskanje novih ključev in posodobljenih ključev v .properties datotekah lahko uporabiš funkcijo, ki jo ponuja SourceForge.net in omogoča primerjavo dveh različic projektne datoteke:
- Poišči datume različic Sweet Home 3D, ki jih želiš primerjati v zgodovini (na primer 19. julij 2015 za različico 5.0 in 2. februar 2015 za različico 4.6)
- Klikni na
.propertiesali.htmldatoteko, ki jo želiš posodobiti v sliki 1, - Izberi oba potrditvena polja številke revizije, ki se ujema z datumom različice za posodobljeno datoteko, pri čemer izberi datum, ki je tik pred datumom različice Sweet Home 3D,
- Klikni na gumb Primerjaj.
Zadnji klik ti bo prikazal razlike med dvema različicama te .properties datoteke (na primer ta povezava ti bo prikazala razlike med različico 4.6 in različico 5.0 datoteke com/eteks/sweethome3d/viewcontroller/package.properties).
Ko najdeš razlike, posodobi svoj prevod, po potrebi dodaj nova imena ključev in izdaj novo različico svojega prevoda.