blender3d.cz http://blender3d.cz/forum/ |
|
viacjazyčná "hra" [blender 2.5,2 r28904] http://blender3d.cz/forum/viewtopic.php?f=11&t=7679 |
Stránka 1 z 1 |
Autor: | Bigbob [ pát kvě 28, 2010 2:06 pm ] |
Předmět příspěvku: | viacjazyčná "hra" [blender 2.5,2 r28904] |
Dnes som sa pokúšal použiť modul gettext na použitie viacerých jazykoch v "hre", použil som tento skript: Kód: # -*- coding: utf-8 -*- import os.path, sys import gettext name = "main" dir = "./locale" gettext.install(name, dir) _ = gettext.gettext languages = { "english" : gettext.translation(name, dir, languages=["en"]), "german" : gettext.translation(name, dir, languages=["de"]), } # AJ languages["english"].install() print _("ahoj") # NJ languages["german"].install() print _("ahojj") boužial mi na riadku print _("ahoj") vyhodil Python chynu "invalid syntax". Zátvorky s uvodzovkami okolo retazca mám a _ je definované, tak neviem, kde je problém poznámka: .mo súbory musia byť zrejme v adresári odkial sa spúšťa Blender/Blenderplayer. teda aspoň podla výpisu z getcwd() neviete mi s tým niekto pomôcť? |
Autor: | zgerbiak [ sob kvě 29, 2010 1:37 pm ] |
Předmět příspěvku: | Re: viacjazyčná "hra" [blender 2.5,2 r28904] |
Pdľa mňa tam bude chyba tu: languages = { "english" : gettext.translation(name, dir, languages=["en"]), "german" : gettext.translation(name, dir, languages=["de"]), } Vytváraš premennú languages v tom ako ju vytváraš do nej vkladáš údaje. Ako môžeš vkadať údaj do niečoho čo ešte neexistuje? Skús to prepísať: languages = {} q = gettext.translation(name, dir, languages=["en"]) languages["englisch"] = q q = gettext.translation(name, dir, languages=["de"]) languages["englisch"] = q Ten kód sa mi zdá dosť divný. Pri najhoršom si napíš vlastný kód pre prekladanie. To nieje ťažké. |
Autor: | Bigbob [ sob kvě 29, 2010 5:01 pm ] |
Předmět příspěvku: | Re: viacjazyčná "hra" [blender 2.5,2 r28904] |
To s tou premennou som si neuvedomil,dík. Tak som prvú časť skriptu zjednodušil a tiež som si opravil chybné zátvorky, to asi spôsobovalo tie problémy. Kód: # -*- coding: utf-8 -*- import os.path import sys import gettext appname = "main" dir = "./locale" gettext.install(appname, dir) english = gettext.translation(appname, dir, languages=["en"]) german = gettext.translation(appname, dir, languages=["de"]) english.install() print(_("ahoj")) german.install() print(_("ahoj")) bohužial ak obsahujú retazce v .po súbore diakritikritiku, tak pri spúštaní skriptu v konzoli mám z textu rozsypaný čaj a BGE mi ich odmieta zobraziť s tým, že: Citace: UnicodeEncodeError: "charmap" codec can´t encode character "\u100d" in position 38: character maps to <undefined> Skúsim to nejak doriešit sám ale každá pomoc by sa mi hodila |
Autor: | zgerbiak [ ned kvě 30, 2010 9:42 am ] |
Předmět příspěvku: | Re: viacjazyčná "hra" [blender 2.5,2 r28904] |
Mne blender diakritiku neberie. |
Autor: | Bigbob [ ned kvě 30, 2010 4:12 pm ] |
Předmět příspěvku: | Re: viacjazyčná "hra" [blender 2.5,2 r28904] |
Myslím, že viem ako to obísť. Mohol by som mohol upraviť bitmapu fontu tak aby namiesto čísel zobrazoval písmená s diakritikou. Teda, ak by som hodil do .mo súboru string 3aman, tak by mi BGE vypísal slovo šaman. vyskúšam to a potom sem napíšem, jak to dopadlo.(len dúfam, že po úprave nebudem musieť tú bitmapu preháňať cez FTBlender) EDIT: ash tu tuším kedysi ukazoval nejakú peknú utilitku, ktorá dokázala generovať bitmapové fonty z diakritikou, skúsim to pohladať. EDIT2: Bingo! http://www.ashsid.sk/?p=21 dokonca v jednej téme tu postol aj pár fontov http://blender3d.cz/forum/viewtopic.php?f=11&t=231&p=80951#p80951 EDIT3: použil som bitmapový font, ktorý dal Ash do tej témy a funguje, v políčku property mi to síce píše namiesto diakritiky nezmysly ale v ge sa to zobrazuje správne. Skúsim, či mi ge načíta ten text z .mo súboru ako property objektu. EDIT4: No, z .mo súboru už sa mi texty načítavajú bez problémov ale namiesto písmen z diakritikou sa mi zobrazujú @. Problém bude asi v znakovej sade, ktorú používa buď .mo súbor alebo Blender EDIT5: móóc zaujimavé je, že teraz mi print(_("ahoj")) v konzoli blendera vypíše bez problému. Mal by som si tie súbory usporiadať, lebo v nich začínam mať slušný bordel :/ EDIT6: dalšie zaujimavé zistenie. ked napíšem text s diakritikou do pola property s názvom Text tak sa zobrazujú aj písmená s diakritikou. Ked ale dám do skriptu own["Text"] = (_("šaman")) tak sa už diakritika nezobrazí, resp zase rozsypaný čaj. EDIT7: asi napíšem do bug trackera, že textový editor nepodporuje UTF-8 čku, možno to niekto aspoň čiastočne opraví |
Stránka 1 z 1 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |