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 ustvariš takšno datoteko. Datoteka SH3L je samoinštalacijska jezikovna datoteka in uporabniki morajo le dvoklikniti na datoteko SH3L, da Sweet Home 3D prevedejo v jezik, opisan v tej datoteki.

Osnovna navodila

Ustvarjanje datoteke SH3L vključuje:

  1. prenos angleške različice datotek za prevajanje,
  2. razpakiranje prenesene datoteke,
  3. dodajanje dvočrkovne pripone, ki ustreza tvojemu jeziku, k .properties datotekam, ki jih vsebuje,
  4. prevajanje besedila v datotekah .properties,
  5. pretvorba v kodiranje ASCII,
  6. prevajanje besedila pomoči v datotekah .html (ni obvezno, vendar bo zelo koristno za uporabnike),
  7. stiskanje datotek .properties in datotek pomoči nazaj v datoteko s pripono SH3L,
  8. dvoklik na datoteko SH3L za preizkus prevoda v Sweet Home 3D,
  9. distribucija datoteke SH3L.

Podrobna navodila

Če te prejšnja osnovna navodila niso prestrašila, nadaljuj z naslednjimi koraki.

Pridobivanje angleške različice

Prenesi arhiv na /SweetHome3DTranslation.zip (različica 7.5) in ga razpakiraj z orodji tvojega sistema.
SweetHome3DTranslation.zip vsebuje nabor datotek s priponami .properties in .html, ki so nameščene v podmapah, kot je prikazano na sliki 1.

Slika 1. Prevodne datoteke

Vse datoteke .properties in .html vsebujejo angleško različico besedil, ki jih boš moral prevesti v svoj jezik:

  • datoteke package.properties opisujejo oznake, menije in elemente menijev, prikazane v uporabniškem vmesniku Sweet Home 3D,
  • datoteke basic.properties in metal.properties 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,
  • datoteke .html vsebujejo besedilo pomoči Sweet Home 3D.

Datoteke .properties 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 njihove mape, ne preimenuj nobene mape (razen podmape en v pomoči) in ne izbriši nobene mape.

Preimenovanje datotek glede na tvoj jezik

Preden prevedeš datoteke .properties, bi moral vsako od njih preimenovati tako, da njihovemu imenu dodaš podčrtaj, ki mu sledita 2 znaka ISO kode, 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, ISO koda za češčino je cs. Če želiš prevesti Sweet Home 3D v češčino, bi moralo biti vsako ime datoteke s pripono _cs, in datoteke bi moral preimenovati, kot je prikazano na sliki 2.

Slika 2. Datoteke lastnosti s pripono ISO kode

Prevajanje datotek lastnosti

Datoteke .properties 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 okt. 2007
# 
# Avtorske pravice (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 Free Software
# Foundation; 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; niti implicitne garancije TRŽNOSTI ali PRIMERNOSTI
# ZA DOLOČEN NAMEN.  Glej splošno javno licenco GNU za več
# podrobnosti.
# 
# Moral bi prejeti kopijo splošne javne licence GNU skupaj s
# tem programom; če ne, piši na Free Software Foundation, 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 za 3D upodabljanje. Posodobi gonilnike DirectX/OpenGL
    <br>tvoje grafične kartice. 
SweetHome3D.3DError.title=3D napaka
    
SweetHome3D.confirmSaveAfter3DError.message=<html> Sweet Home 3D se mora zdaj zapreti zaradi usodne napake v
    <br>sistemu za 3D upodabljanje. Želiš shraniti vse spremenjene domove? 
SweetHome3D.confirmSaveAfter3DError.title=3D napaka
SweetHome3D.confirmSaveAfter3DError.save=Shrani
SweetHome3D.confirmSaveAfter3DError.doNotSave=Ne shrani

Datoteka .properties vsebuje tri vrste vrstic:

  • vrstice, ki se začnejo z znakom #, so komentarji (v prejšnjem primeru prikazani zeleno). Nekateri komentarji vsebujejo pravne informacije, nekateri dajejo informacije razvijalcem ali prevajalcem. Te vrstice ohrani 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 (v prejšnjem primeru prikazano modro). Po tem ključu vsaka od teh vrstic vsebuje enačaj (=) in besedilo v določenem jeziku. Tvoje delo se začne pri enačajih. Ne spreminjaj besedila ključa in angleško besedilo za enačajem zamenjaj z njegovim prevodom.

Posebni primeri:

  • Besedila, ki se začnejo z <html> oznaka vsebuje nekaj besedila 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 WallPanel.wallOrientationLabel.text ključa.
  • Da bi se izognili dolgim vrsticam v urejevalniku besedil, so nekatere vrstice razdeljene v dve ali več vrstic in nato ločene z nazaj poševnicami \, kot je vrstica, ki se začne z SweetHome3D.3DError.message v 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 tudi 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 %s v besedilu naslednjega ključa HomeFurniturePanel.widthLabel.text:
    HomeFurniturePanel.widthLabel.text=Širina (%s):
    bo zamenjano z trenutno uporabljeno enoto. Dve zaporedji znakov %1$d in %2$d , ki se pojavita v besedilu naslednjega ključa PrintPreviewPanel.pageLabel.text:
    PrintPreviewPanel.pageLabel.text=Stran %1$d/%2$d
    se bosta na zaslonu prikazala kot številka strani in število strani, ti pa bi moral prevesti samo besedo Page.
  • 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, da razdeli vrstico na zaslonu, in jih ne smeš odstraniti.
  • Vrednost ključa HelpController.helpIndex označuje imenik, kjer se nahajajo datoteke pomoči. Če prevajaš datoteke pomoči .html, bi moral podimenik en zamenjati 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 bi moral 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
    lahko prevedemo v francoščino z:
    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 datoteke .properties, ki se končajo z Catalog.properties.

Pretvarjanje datotek lastnosti v kodiranje ASCII

Če si prevedel besedila v jezik z znaki, ki ne spadajo v kodiranje ISO-8859-1 (predvsem jeziki srednje in vzhodne Evrope ter jeziki z nelatinsko abecedo), boš moral vse svoje datoteke .properties 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 latinske črke in nelatinske č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 datotek .properties, če jih boš želel pozneje spremeniti.
Če želiš neposredno urejati datoteke .properties, 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 datotek .html je dolgotrajno delo, 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 poskušaj 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 datoteke .properties, obstaja, lahko tudi zaprosiš razvijalca Sweet Home 3D, da ustvari posnetke zaslona).

Ustvarjanje datoteke SH3L

Ko so vse datoteke .properties in .html 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 izvedeš z naslednjim postopkom:

  • v sistemu Windows izberi mapo com, ki vsebuje vse prevedene datoteke, in iz kontekstnega menija izberi Pošlji v > Stisnjena mapa,
  • 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 datoteke zip 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 v tvoji uporabniški mapi,
  • v sistemu Linux in drugih Unix sistemih je to podmapa .eteks/sweethome3d/languages v tvoji uporabniški mapi,
  • s prenosno različico Sweet Home 3D je to podmapa data/languages v mapi, kjer je shranjena aplikacija Sweet Home 3D,

Upoštevajte tudi, da boste med razvojem vaše datoteke SH3L verjetno morali znova zagnati Sweet Home 3D, da si ogledate spremembe v vaši datoteki SH3L.

Distribucija datotek SH3L

Ko je vaša datoteka SH3L pripravljena, jo lahko predlagate komur koli, jo objavite uporabnikom Sweet Home 3D v delu foruma, rezerviranem za tuje jezike ali drugje. Če se strinjate, je lahko na voljo na tem spletnem mestu na strani o prevodih, ki jih podpira Sweet Home 3D.

Posodabljanje datotek SH3L

Nekatere izdaje Sweet Home 3D prinašajo nove funkcije za prevajanje, nekatere pa ne. Če ne prevedete oznak uporabniškega vmesnika, ki ustrezajo tem novim funkcijam, bo Sweet Home 3D deloval, vendar se bodo vse nove oznake prikazale v angleščini. Če želite najti nove in posodobljene ključe v datotekah .properties, lahko uporabite funkcijo, ki jo ponuja SourceForge.net in vam omogoča primerjavo dveh različic projektne datoteke:

  1. Poiščite datume različic Sweet Home 3D, ki jih želite primerjati v zgodovini (na primer, 19. julij 2015 za različico 5.0 in 2. februar 2015 za različico 4.6)
  2. Kliknite na datoteko .properties ali .html, ki jo želite posodobiti na sliki 1,
  3. Izberite dve potrditveni polji številke revizije, ki ustreza datumu različice za posodobljeno datoteko, izberite datum, ki je tik pred datumom različice Sweet Home 3D,
  4. Kliknite na gumb Primerjaj.

Zadnji klik vam bo prikazal razlike med obema različicama te datoteke .properties (na primer, ta povezava vam bo prikazala razlike med različico 4.6 in različico 5.0 datoteke com/eteks/sweethome3d/viewcontroller/package.properties).

Ko najdete razlike, posodobite svoj prevod, po potrebi dodajte nova imena ključev in izdajte novo različico svojega prevoda.