[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