Übersetzungen

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Übersetzungen

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"?

Ich möchte keine prinzipielle Diskussion über Übersetzungen lostreten,
ich brauche nur die Lösung dieses kleinen Problems.

Grüße

Klaus Füller


Reply | Threaded
Open this post in threaded view
|

Re: Übersetzungen

Marcus Denker-2

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"?
>
Ok.
Nothing more expected. Das macht der Parser.

dort findet sich eine methode "expected:":


expected: aString
        "Notify a problem at token 'here'."

        tokenType == #doIt ifTrue: [hereMark _ hereMark + 1].
        hereType == #doIt ifTrue: [hereMark _ hereMark + 1].
        ^ self notify: aString , ' expected' at: hereMark + requestorOffset


Aha. die bekommet einen String, haengt "expected" ran und ruft eine
andere
Methode auf. Hier koennte man sich reinhaengen, am einfachsten testet
man, was in "aString" ist, uebersetzt es, also so:



expected: aString
        | transString |
        "Notify a problem at token 'here'."

        tokenType == #doIt ifTrue: [hereMark _ hereMark + 1].
        hereType == #doIt ifTrue: [hereMark _ hereMark + 1].
       
        transString := aString.
        aString = 'Nothing more' ifTrue: [ transString := 'Nichts mehr'].
       
        ^ self notify: transString , ' erwartet' at: hereMark + requestorOffset


das kann man dann nach bedarf erweitern.

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

1) Eine Subklasse "NachrichtNichtVerstanden" von "MessageNotUnderstood"
erstellen.
und 2) dann aendert man Object>>#doesNotUnderstand so, dass die neue
Klasse
aufgerufen wird:


doesNotUnderstand: aMessage
         "Handle the fact that there was an attempt to send the given message
to the receiver but the receiver does not understand this message
(typically sent from the machine when a message is sent to the receiver
and no method is defined for that selector)."
        "Testing: (3 activeProcess)"

        (Preferences autoAccessors and: [self tryToDefineVariableAccess:
aMessage])
                ifTrue: [^ aMessage sentTo: self].

        ^ NachrichtNichtVerstanden new
                message: aMessage;
                receiver: self;
                signal



--
Marcus Denker [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Übersetzungen

Bert Freudenberg-2
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


Reply | Threaded
Open this post in threaded view
|

Re: Übersetzungen

Michael Rueger-6
In reply to this post by Klaus Füller
Klaus Füller wrote:

> 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.

Hmm, warum verwendest du nicht einfach etoys dafuer
(http://www.squeakland.org)?
Die etoy tiles schalten sich auch auf Deutsch um, wenn man die Sprache
in Squeak umschaltet.

Michael



Reply | Threaded
Open this post in threaded view
|

Re: Übersetzungen

Klaus Füller-2
Michael Rueger schrieb:

> Klaus Füller wrote:
>
>> 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.
>
>
> Hmm, warum verwendest du nicht einfach etoys dafuer
> (http://www.squeakland.org)?
> Die etoy tiles schalten sich auch auf Deutsch um, wenn man die Sprache
> in Squeak umschaltet.

Ich habe zu wenig Ahnung von EToys, habe mit ihnen herumgespielt und bin
nicht richtig überzeugt. Ich gebe aber zu, dass es bei mir einen Moment
dauert, bis ich ein Gefühl für ein derartiges System entwickelt habe.

Ich bin (u.a.) Mathematik-Lehrer. Es kommt im Moment darauf an, dass die
Schülerinnen und Schüler den Winkelbegriff lernen und mit Winkeln
umgehen. Ich will also, dass die Schüler sagen: 'igel rechts: 72' und
dann feststellen, dass der Winkel falsch war und sie sich genauer
Gedanken machen müssen. (Das ist Papers Turtle-Ansatz.)

Sie können außerdem kleine Prozeduren schreiben in der Form:

        4 mal: [igel rechts: 90;
                     vor: 20]

Für meine Schüler ist es kein Problem, einen Fetzen Text zu markieren
und [Alt]+D zu tippen (6. Klasse, Gymnasium).

_Eine_ mögliche Erweiterung ist dann der Einstieg in die Programmierung,
indem ich diesen Code in eine Methode verwandele.

_Eine andere_ Erweiterung ist ein System, wie Dynageo (nur besser), in
dem die Schülerinnen und Schüler eine Konstruktionsbeschreibung
eintippen und die Konstruktion angelegt wird:

        Punkt name: 'A' x: 3 y: 4.
        ...
        Strecke name: 'a' von: 'A' nach: 'B'.

In der erzeugten Konstruktion muss man dann Teile interaktiv verschieben
können.

Wer ist hier eigentlich Lehrer? Wer ist an der Grundschule, wer an
weiterführenden Schulen?

(Nur als Ergänzung: Ich setzt Squeak noch in einem Informatik-Grundkurs
in der 12 ein.)


Reply | Threaded
Open this post in threaded view
|

Re: Übersetzungen

Stefan Schmiedl
Klaus Füller (2003-11-16 11:18):

>
> Wer ist hier eigentlich Lehrer? Wer ist an der Grundschule, wer an
> weiterführenden Schulen?

Ich wäre fast Lehrer (M/Ph Gym) geworden ... zählt das? :-)

s.

--
Stefan Schmiedl
+-------------------------------+----------------------------------------+
|Approximity GmbH               | EDV-Beratung Schmiedl                  |
|http://www.approximity.com     | Am Bräuweiher 4, 93499 Zandt, Germany  |
|mailto:[hidden email]  | Tel. (09944) 3068-98, Fax -97          |
+-------------------------------+----------------------------------------+

Reply | Threaded
Open this post in threaded view
|

Re: Übersetzungen

Torge Husfeldt
In reply to this post by Klaus Füller-2
Hi,
On Sun, 16 Nov 2003 11:18:47 +0100, Klaus Füller <[hidden email]>
wrote:

> Michael Rueger schrieb:
>> Klaus Füller wrote:
>>
>>> 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.
>>
>>
>> Hmm, warum verwendest du nicht einfach etoys dafuer
>> (http://www.squeakland.org)?
>> Die etoy tiles schalten sich auch auf Deutsch um, wenn man die Sprache
>> in Squeak umschaltet.
>
> Ich habe zu wenig Ahnung von EToys, habe mit ihnen herumgespielt und bin
> nicht richtig überzeugt. Ich gebe aber zu, dass es bei mir einen Moment
> dauert, bis ich ein Gefühl für ein derartiges System entwickelt habe.
>
> Ich bin (u.a.) Mathematik-Lehrer. Es kommt im Moment darauf an, dass die
> Schülerinnen und Schüler den Winkelbegriff lernen und mit Winkeln
> umgehen. Ich will also, dass die Schüler sagen: 'igel rechts: 72' und
> dann feststellen, dass der Winkel falsch war und sie sich genauer
> Gedanken machen müssen. (Das ist Papers Turtle-Ansatz.)
>
> Sie können außerdem kleine Prozeduren schreiben in der Form:
>
> 4 mal: [igel rechts: 90;
>     vor: 20]
>
> Für meine Schüler ist es kein Problem, einen Fetzen Text zu markieren und
> [Alt]+D zu tippen (6. Klasse, Gymnasium).
>
> _Eine_ mögliche Erweiterung ist dann der Einstieg in die Programmierung,
> indem ich diesen Code in eine Methode verwandele.
>
> _Eine andere_ Erweiterung ist ein System, wie Dynageo (nur besser), in
> dem die Schülerinnen und Schüler eine Konstruktionsbeschreibung eintippen
> und die Konstruktion angelegt wird:
>
> Punkt name: 'A' x: 3 y: 4.
> ...
> Strecke name: 'a' von: 'A' nach: 'B'.
>
> In der erzeugten Konstruktion muss man dann Teile interaktiv verschieben
> können.
>
> Wer ist hier eigentlich Lehrer? Wer ist an der Grundschule, wer an
> weiterführenden Schulen?
Ich hoffe immer noch darauf ab 01.Feb Quereinsteiger in RP zu sein
Gym M/Inf.
>
> (Nur als Ergänzung: Ich setzt Squeak noch in einem Informatik-Grundkurs
> in der 12 ein.)
>
>
Gruss, Torge


--
Der Mensch kann wohl tun, was er will, aber er kann nicht wollen, was er
will.
(Schopenhauer)

Reply | Threaded
Open this post in threaded view
|

Re: Übersetzungen

Michael Rueger-6
In reply to this post by Klaus Füller-2
Klaus Füller wrote:


> Ich habe zu wenig Ahnung von EToys, habe mit ihnen herumgespielt und bin
> nicht richtig überzeugt. Ich gebe aber zu, dass es bei mir einen Moment
> dauert, bis ich ein Gefühl für ein derartiges System entwickelt habe.

Hab mal ein ecken Projekt angehaengt :-)
Waere sehr wichtig fuer uns zu erfahren, was dich gestoert hat oder
warum es dich nicht angesprochen hat. Doku ist ein wenig duenn, obwohl
wir hoffentlich bald mehr haben, u.a. die deutsche Uebersetzung des
Buches von BJ und KIm.

> Sie können außerdem kleine Prozeduren schreiben in der Form:
>
>     4 mal: [igel rechts: 90;
>              vor: 20]

Schleifen gehen zu Zeit nicht (einfach), ist aber hoch auf unserer
Prioritaetenliste!

Michael


ecken.002.zip (58K) Download Attachment