| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: mehrsprachiges Lisp (1589 mal gelesen)
|
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 30. Nov. 2017 12:56 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, hat von euch jemand eine Idee wie ich meine Lisp-Programme mehrsprachig gestalten kann. Es geht mir in erster Linie um meine Abfragen und evtl. Antworten. Wenn i9ch z.B. eine Meldung bringe wie "Linie wählen" hätte ich das gerne so gelöst dass wenn das System englisch gestartet wurde dass die Frage eben heißt "select Line". Im SolidWorks haben wir das mit einer .ini Datei gelöst in der alles mehrsprachig mit Pipe (|) getrennt drin steht und sich das Macro dann die jeweilige Sprache der betreffenden Zeile (durchnummeriert) je nach der Sprache die im Betriebssystem eibestellt ist holt. Ich hoffe ich habe mich verständlich ausgedrückt. Edit: das Einzige was ich zum Thema gefunden habe war das hier für DCL, das hilft mir aber irgendwie nicht weiter. ------------------ Grüße Jörg man hat nie Zeit es richtig zu machen, aber immer genug Zeit es nochmals zu machen [Diese Nachricht wurde von jörg.jwd am 30. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 30. Nov. 2017 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
|
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 30. Nov. 2017 13:08 <-- editieren / zitieren --> Unities abgeben:
Hallo CADwiesel, wie ich an die Sprache komme (oder umstelle) weiß ich. Da habe ich im DraftSight sogar über den Befehl _language die Möglichkeit die Sprache umzustellen (siehe Bild. Mir fällt nur nichts eine wie ich solche Abfragen richtig definieren muss: (setq elem1 (car(entsel "\n select first line"))) ------------------ Grüße Jörg man hat nie Zeit es richtig zu machen, aber immer genug Zeit es nochmals zu machen [Diese Nachricht wurde von jörg.jwd am 30. Nov. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 30. Nov. 2017 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 30. Nov. 2017 13:18 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
|
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 30. Nov. 2017 13:28 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium:
besser ist es natürlich , das ganze in einen Translate-Funktion zu verpacken , dann kann man über Listen mehrere Texte und mehrere Sprachen (einheitlich ) abdecken ...
Hallo Thomas, das sieht ja schon mal ganz gut aus. Wahrscheinlich reicht mir das schon. Wenn's allerdings größere Funktionen werden würd mich deine Anregung doch interessieren. Wie sieht denn so eine Translate-Funktion aus? ------------------ Grüße Jörg man hat nie Zeit es richtig zu machen, aber immer genug Zeit es nochmals zu machen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 30. Nov. 2017 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
na ich würde dazu auf eine externe Txt-Datei mit den Texten zugreifen. Die könnte so aufgebaut sein : Deutscher Text1 ; englischer Text1 ; Franz. Text1 .... Deutscher Text2 ; englischer Text2 ; Franz. Text2 .... Deutscher Text3 ; englischer Text2 ; Franz. Text3 .... ... die wird mit Lisp eingelesen und eine Liste draus gemacht .. und im Speicher vorgehalten die Translatefunktion bekommt als Parameter den deutschen Vorgabetext als Paramter und durchsucht dann die Liste mittels assoc nach Übersetzungen , die richtige Übersetzung in der Teilliste wird dann durch die Sysvar LOCALE bestimmt und der gefundene Text dann zurückgeliefert, .. wird nix gefunden, wird der Originaltext zurücggegeben ... Befehlsaufrufe könnten dann so aussehen (setq A (car(entsel (strcat"\n"(translate "Linie wählen")))))
------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 01. Dez. 2017 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
ich würde das anders machen, so, wie das auch auf Windows-Ebene üblich ist. Es gibt für jede Sprache eine gesonderte Ressourcen-Datei. In der sind alle Texte enthalten, alle Texte mit dem gleichen Schlüsselwort "ansprechbar". Code:
<DE-de.lsp> '( ("selectInsert" . "Block wählen: ") ("selectInsertError" . "Sie haben keinen Block gewählt! Erneut versuchen!") )<EN-en.lsp> '( ("selectInsert" . "Select Insert: ") ("selectInsertError" . "No insert lelected! Try again!") )
Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 01. Dez. 2017 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
Hi, so wie Holger würde ich das auch machen. Super an der Lösung über Lisp-Listen als Parameterdateien: Ein einfacher Load-Befehl der Datei reicht um die Parameter verfügbar zu haben. Mache ich bei diversen Funktionen in dieser Art. Ansonsten muss ich hier bei uns alles immer für die englische oder deutsche AutoCAD-Version bereitstellen. (getvar "locale") gibt mir auf einem englischen Windows 7 in der englischen Version von AutoCAD "deu" zurück. Ich mache die Lisp-Sprache immer von der AutoCAD-Sprachversion abhängig und baue dann etwas in dieser Art ein:
------------------ Ciao, Marc
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 01. Dez. 2017 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 01. Dez. 2017 13:24 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
Zitat: Original erstellt von cadffm: Account gehackt oder lebt der User wirklich noch?
Stiller Teilhaber ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 01. Dez. 2017 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für jörg.jwd
|
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 02. Dez. 2017 10:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc, schön mal wieder was von dir zu lesen. Das habe ich glaube zum letztenmal bei Induma getan ------------------ Grüße Jörg man hat nie Zeit es richtig zu machen, aber immer genug Zeit es nochmals zu machen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |