Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 4508 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD diskuze, rady, výměna zkušeností

 
CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy Arkance Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoVícejazyčné dialogy

 Odpovědět Odpovědět archiv
Autor
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Téma: Vícejazyčné dialogy
    Zasláno: 10.zář.2008 v 12:36

Zdravím všechy programátory. Měl bych tady  dotaz ohledně cyzojazyčných dialogů.

Lze vytvořit jeden univerzální dialog, a pak dle zvoleného jazyka do něj pomoci lispu vpisovat mutace jazyků.
 
Uvedu příklad.
 
Tlačítko (Ukončit) mám vytvořený dialog, tlačítko má nějaký label a key. A spustím ho, lze teď pomoci lispu to tlačítko přejmenovat na (END) ať už v běhu dialogu nebo před (start_dialog) ???
 
Nebo musím vytvořit prostě všechny mutace dcl-ek pro všechny jazyky ???
 
Ve VBA to lze pomoci caption="END". Umí něco i lisp ???
 
Díky moc, Martin Ch.
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 10.zář.2008 v 12:47
Bez hlubšího zkoumání, obávám se že obtížně. Proč ale netvoříte aplikaci rovnou ve VBA nebo VB, když to umíte? Podle mého tvorba aplikace ve VB daleko přehlednější, než v lispu.
Vítězslav Seiner

Chrudim
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 10.zář.2008 v 12:52
Zvyk = železná košile od verze cadu 12. A navíc daleko větší zkušenosti :-)
 
A navíc ten funguje vždy a všude, a s novými funkcemi vlx, vlax..... dostává trošku jiný rozměr když se je pomalu učím.
 
Ale je mi to v podstatě jedno.
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 10.zář.2008 v 12:56

Chápu. Já jsem to mastil už od 10. Staré věci taky nepředělávám. Ale nové tvořím ve VB a většinou se záměrem, aby se daly použít i v LT.

Omlouvám se, že nemám nic k věci.

Vítězslav Seiner

Chrudim
Zpět nahoru
PepaR Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 29.lis.2004
Lokalita: ČR (ZL)
Používám:
ruky a hlavu (občas ;)
Stav: Offline
Bodů: 6187
Přímý odkaz na tuto zprávu Zasláno: 10.zář.2008 v 14:22
U lispů je nutné vše přepsat. Není těžké rozpoznat řetězce textu a odseparoat je od kódu.
 
ARX lze snadno přeložit např. pomocí programu Resource Hacker nebo jiného editoru zdrojů.
 
VLX, tam je to horší, musíte mít zdroj nebo si soubor dekompilovat.
 
Vícějazyčnost by asi šla řešit pomocí externích jazykových souborů,které jsem viděl u jedné ARX aplikace propráci s tabulkami.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21528
Přímý odkaz na tuto zprávu Zasláno: 10.zář.2008 v 21:10
I v LISPu/VLISPu se používají oddělené textové soubory s hlášeními programu, nebo tabulky stringů vložené na začátku programu, nebo identifikované řetězce pro použití profesionálních lokalizačních nástrojů. Jsou tak řešeny i LISP aplikace Autodesku.
 
Dá se také zjistit jazyk AutoCADu a jazyk aplikace přepnout automaticky (jsou tak dělané i některé naše freeware LISP aplikace).
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 10.zář.2008 v 21:27
Nebylo by prosím možné uvést nějakou konkrétní ze které by to bylo možné "okouknout"? Třeba jednu s dialogem a jednu bez, jen s hlášením na příkazové řádce...

Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 11.zář.2008 v 07:17
To si dokážu představit asi tak, že každý text je přiřazen do nějaké proměnné. Na začátku aplikace se podle zvolené / zjištěné jazykové verze se souboru hlášek (jakási matice), načte ten správný sloupec. A všude, kde se text vyskytuje, je nahrazen proměnnou.
   Já jsem z původního dotazu pochopil, že je požadováno přepínání jazyků PO načtení dialogu. To by se IMHO muselo vyvolat nové načtení s příslušným jazykovým nastavením. Ale prakticky je to asi k ničemu - prostě pracuji s nějakou aplikací v nějakém jazyku a málokdy je potřeba přepínat za běhu. (I když já takové aplikace mám, ale ne pro AutoCAD.)
Vítězslav Seiner

Chrudim
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 11.zář.2008 v 08:07
Ano, mate pravdu. V DCL souboru lze pro "label" pouzit promennou s hodnotou string. To jsem nevedel.
Spravnou hodnotu stringu lze pak samozrejme nacist mnoha zpusoby podle potreby.
Jen nazev promenne nesmi obsahovat nektere znaky, ktere v LISPu projdou. Napriklad promenna s nazvem "text-button" neprojde. Vadi pomlcka...
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 12.zář.2008 v 11:24
To jak je seznam uložený, mám řešeno, mám přesně tu matici jak je psána výše, a jen dle jazyku, vyberu příslušný sloupeček, "seznam". To načtu do proměnné jazyk, a z tama pak čerpám jednotlivé slova věty...
Pro vypisování na řádku, a různé políčka v dialogách, je to snadný, jasný. Ale nastane problém když mám právě v tom DCL definované tlačítko např :
 
MATERIALY : dialog {
  label = "Databáze materiálů ve výkrese.";
  : popup_list {key   = "SEZ";}
  : edit_box {key = "A";label = "Název materiálu ";}
  : edit_box {key = "B";label = "Modul pružnosti  ";}
  : edit_box {key = "C";label = "Tepelná vodivost";}
  : row {
         : button { key   = "1"; label = "Přidat"  ;}
         : button { key   = "2"; label = "Nahradit";}
         : button { key   = "3"; label = "Smazat"  ;}
         : button { key   = "4"; label = "Převzít"  ;}
  }
  : row {
         : button { key   = "OK"   ; label = "  Ok  "    ; is_default = true; }
         : button { key   = "KONEC"; label = "Storno  "; is_cancel  = true; }
         : button { key   = "HELP" ; label = "Pomoc"   ;}
  }
  errtile
;
}
Tak pak dle jazyku potřebuju :
aby tlačítko se zobrazovalo třeba
: button { key   = "3"; label = "Delete"  ;}
Poslední odpověď od p. Alfreda zní že lze použít proměnnou, to můžu chápat takto :
 
1) v lispu TL_01_TEXT = "Delete"
2) (new_dialog........
3) (start_dialog)
 
a dialog je definovaný takto :
: button { key   = "3"; label = TL_01_TEXT  ;}
 
jenže to nefunguje u textů je to jasný, tam doplňuju
(set_tile "key" "value") a napíšu jakýkoliv text
 
ale název tlačítka ??? jedná se mi čistě o tlačítko ostatní můžu obejít že udělám text který měním a za tím třeba zatržítko bez labelu.
Ale tlačítko je problém, protože ten bez Labelu nemá smysl, a ten potřebuju měnit, a nechci kvůli toho mít 30 různých DCL-ek. tak jsem chtěl mít jedno univerzální, a lispem do toho cpát popisky.
Zatím díky všem.

 
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 12.zář.2008 v 12:47
Tlacitko lze udelat.
v lsp:
(setq nazevtlacitka "libovolny string")
;samozrejme pred otevrenim dialogu.... :-)
v dcl:
: button {
label = nazevtlacitka;
key = "1";
}

Nedalo mi to a jeste jsem si to zkousel. Bohuzel jsem se
mylil a nefunguje to.
V dialogu se na tlacitku objevi napis "nazevtlacitka"

Upravil alfred - 12.zář.2008 v 13:33
Zpět nahoru
Sedláček Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 15.dub.2005
Lokalita: Czech Republic
Používám:
AutoCad 2024 LT
Stav: Offline
Bodů: 384
Přímý odkaz na tuto zprávu Zasláno: 12.zář.2008 v 13:07
Původně odeslal(a) Seiner Seiner napsal(a):

 a většinou se záměrem, aby se daly použít i v LT.

 
Jak to řešíte pro LT? Přes DDE? Nebo DXF soubory? Nebo jinak?
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 12.zář.2008 v 14:14
No tak to mi právě nejde, a já nevím proč, nemůže být toto ovlivněno verzí cadu ??? Mám 2006.
 
Jinak mé zkušební dcl je tady :
MATERIALY : dialog {
  label = "Databáze materiálů ve výkrese.";
  : popup_list {key   = "SEZ";}
  : edit_box {key = "A";label = "Název materiálu ";}
  : edit_box {key = "B";label = "Modul pružnosti  ";}
  : edit_box {key = "C";label = "Tepelná vodivost";}
  : row {
         : button { key   = "1"; label = "Přidat"  ;}
         : button { key   = "2"; label = "Nahradit";}
         : button { key   = "3"; label = TL_MATERIALY_4;}
         : button { key   = "4"; label = "Převzít"  ;}
  }
  : row {
         : button { key   = "OK"   ; label = "  Ok  "    ; is_default = true; }
         : button { key   = "KONEC"; label = "Storno  "; is_cancel  = true; }
         : button { key   = "HELP" ; label = "Pomoc"   ;}
  }
  errtile;
}

 
A lsp je tady :
(setq TL_MATERIALY_4 "Delete")
(setq dialog (load_dialog "D:\\Dokumenty\\Soukromé\\Pokus_DCL\\Pokus.dcl"))
(new_dialog "MATERIALY" dialog)
(start_dialog)
 
A pořád mi to místo toho "Delete" tam píše "TL_MATERIALY_4"
 
Dík
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
AlSt Zobrazit panel
Diskutér
Diskutér

Přihlášen: 16.srp.2005
Lokalita: Czech Republic
Stav: Offline
Bodů: 16
Přímý odkaz na tuto zprávu Zasláno: 12.zář.2008 v 14:38
Zdravím,
kdysi jsem něco podobného potřeboval a řešil jsem to dynamickým generováním dcl souboru. Kde jsem měl seznamy jazykových mutací ve formatu assoc listu (list (cons key . value) ...) dle jazyka jsem vybral odpovidající seznam jazyku. V generatoru dcl soubpru jsem jej dosazoval pomoci (cdr (assoc key seznam-msg-pro-dany-jazyk)) do fuknce strcat a cely radek nasledne zapisoval pomoci write-line nebo nějaké podobné fce do souboru.

S pozdravem Staněk
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 12.zář.2008 v 15:34
No to by i bylo řešení, ale udělat generátor pro 50 dialogů :-) ale je to jedno z řešení. Navíc dokáže si pohrát i s rozměrama :-)
Díky to mně nenapadlo.
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 13.zář.2008 v 19:01
Používám DXF a posílání Hot Keys.
(OT pro p. Sedláčka)


Upravil Seiner - 13.zář.2008 v 19:02
Vítězslav Seiner

Chrudim
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 13.zář.2008 v 19:11
Možná místo čistého generování DCL by se dalo použít to, co dělám při generování DXF. Prostě do vzorového (textového) souboru napíšu na příslušná místa klíčová slova a mám poměrně jednoduchý kód VB, který nahradí klíčová slova potřebnými texty.
Vítězslav Seiner

Chrudim
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 9797:Jak vytvářet vícejazyčné kusovníky sestav Inventoru?
Tip 8083:Vestavěný překladač - vícejazyčné popisky v AutoCADu ecscad.
Tip 7222:K čemu slouží v AutoCADu soubory WDL, WDR, WDD, WDW a podobné?
Tip 8701:Odkud lze stáhnout české lokalizace Autodesk produktů? (jazykové balíčky)
Tip 10451:Proč mi Autodesk Accounts nabízí jen volbu "Instalovat nyní"?
Tip 213:Jak psát do výkresu ruské texty?


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 2,180 sekund.