[Squeak-ev] Übersetzungen

Bert Freudenberg bert at isg.cs.uni-magdeburg.de
Sam Nov 15 14:21:19 UTC 2003


Marcus Denker wrote:

> Am 15.11.2003 um 14:21 schrieb Klaus Füller:
> 
>> Ich habe eine einfache Turtle-Graphik in squeak geschrieben, um sie im 
>> Jahrgang 6 in Mathematik einzusetzen (es geht da um Winkel). Ich 
>> müsste nun einige Meldungen des Compilers und des Laufzeitsystems 
>> ändern und möchte das "quick-and-dirty" tun.
>>
>> Wie finde ich Meldungen, wie "Nothing more expected" oder "Message not 
>> understood"?

Es gibt eine String-Suchfunktion: Wort markieren, Strg-E drücken. By 
"Nothing more" findet man dabei eine Methode in Parser, die diesen 
Ausdruck enthält: [self expected: 'Nothing more']

Das kann man einfach ändern. Man kann dann nach weiteren Benutzern von 
#expected: suchen (Alt-N) und finded die anderen erwarteten Dinge. Aber 
natürlich kann man auch #expected selbst ändern, so wie Marcus das 
beschreibt.

> Bei MessageNotUnderstood ist die sache etwas ungeschickter, das das der
> Name des Klasse ist. Hier koennte man folgendes machen:
 > [...]

Nee, das will man nicht wirklich machen ;-)

Der Fenstertitel wird erzeugt, in dem #description an die Exception 
gesandt wird. Die Default-Implementierung ist in Exception und hängt den 
  #messageText an den Klassennamen an. Durch Überschreiben von 
#description in einer Unterklasse wie z.B. MessageNotUnderstood kann man 
sich also leicht eigene Meldungen erzeugen:

description
	"Return a textual description of the exception."

	| mt |
	^(mt := self messageText) == nil
		ifTrue: ['Nachricht unbekannt']
		ifFalse: ['Das verstehe ich nicht: ', mt]

-- 
    Bert