Python nyelvű program fordítása
2012-04-10T01:05:11+02:00
2012-04-11T16:29:53+02:00
2022-07-29T12:10:27+02:00
Péter64
Elkezdtem fordítani egy angol nyelvű, Python nyelven íródott programot magyarra. A dologhoz hozzátartozik hogy nem értek a programozáshoz. Amit tudok azt több helyről lestem el. Azt tudom hogy ha a python fájlok legelső sorába beírom a " #-*- coding: utf-8 -*- " sort akkor szépen lekezeli a magyar ékezetes karaktereket is. Na de itt jön a problémám hogy a dialógus ablakokban megjelenő szövegeket egy xml fájlból hívja be. De ebben az xml fájlban az ékezetes betűket nem tudom használni. Mert el sem tud indulni a program. Ezzel nem tudom hogy mit lehetne kezdeni, és ebben kérném a segítségeteket. Az xml fájlban ilyen sorok vannak amik a dialógusablakban megjelenő szöveget tartalmazza.
" <parameter handler="default" label="Rekesznyilas" listType="none" name="aperture" type="float"> "
Mutasd a teljes hozzászólást!
Kis információ a XML karakterkódolásáról:XML Encoding
Olvasd el, és ha szerencséd van működik.
Mutasd a teljes hozzászólást!

  • Köszi a tippet működik a dolog.
    Az xml fájlba legelső sorként a
    " <?xml version="1.0" encoding="windows-1252"?> " sort kell beírni.
    Mutasd a teljes hozzászólást!
  • Egy kicsit elhamarkodtam a dolgot mert nem 100%-osan működik a dolog. Sajnos még most is vannak olyan részek az xml fájlban amit nem lehet magyar ékezetesen használni mert kiakad a program. Olyan részek mint: legördülő menü elemei, tool tippek, és staticBox feliratok. Ha ebben tudnátok segíteni azt megköszönném. Nem hinném hogy a Python problémázna mert a szövegeket minden további nélkül át tudom írni csak a magyar ékezetes betűkkel van gond.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Két dolognak érdemes utána nézni. Egy, a fájl milyen kódolással van elmentve (mivel attól függetlenül, hogy te egy ilyet írsz bele <?xml version="1.0" encoding="windows-1252"?> ez egyáltalán nem biztos, hogy igaz). Kettő a szerkesztő, amivel szerkeszted a fájlt milyen kódolással ment. Ezek után kellene beállítani a fájl első sorában a kódolást, annak megfelelően, amilyen kódolással mentve van.
    Mutasd a teljes hozzászólást!
  • Azt hol és hogyan tudnám megnézni hogy a fájl milyen kódolással van elmentve? A fájlt a Notepad++ szal szerkesztettem. Én öt féle kódolással találkoztam. A linket amit adtál abban volt négy + a prog.hu-n van egy cikksorozat, ahol az ISO-8859-2 említik meg ami a magyar karaktereket jól kezeli. Egyébként az utf-8 nál a hosszú ő és ű nél hullámvonal van a dupla ékezet helyett. Tudsz még néhány kódolási formát amit ki tudnék próbálni? (Csak ismétlésként én ehhez láma, vagyok ezért kérem szájbarágósan)
    Mutasd a teljes hozzászólást!
  • No, összegezzük a problémát: Tehát van valami python fájlod. Ebbe beírod a " #-*- coding: utf-8 -*- " sort. Tehát a python UTF-8 adatra számít. Ezek után erősen célszerű az xml fájlodat is UTF-8 kódolással menteni. Azt pedig, hogy az UTF-8 kódolás alatt az ő és az ű betűt hullámvonallal jelölné erősen kétlem.
    A szövegfájl kódolásának megállapítása alapban nem kifejezetten egyszerű, mert erről semmiféle információt nem tárol a fájl. Átalakítani viszont az általad használt editorral át lehet.
    Mutasd a teljes hozzászólást!
  • Bocsi azt elfelejtettem írni hogy a Python fájlokban (80db van, de csak néhány használja az xml-t) az "UTF-8"-at átírtam "ISO-8859-2"-re. Ugyan ez a kódolás van az xml fájlban is megadva. Eredetileg sem a Python-okban sem az xml-ben nem volt megadva semmilyen kódolás mert angol nyelvű a program. A megjelenítési különbséget azt elírtam mert "UTF-8"-al nem indul a program. Viszont az "ISO-8859-" két változatával másfajta a megjelenítés. Képek csatolva.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • És a másik kép.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
abcd