View Single Post
Old 10-01-2012, 12:22 PM   #85
SIRSteiner
Linuxfreak
SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.SIRSteiner ought to be getting tired of karma fortunes by now.
 
SIRSteiner's Avatar
 
Posts: 374
Karma: 221896
Join Date: Aug 2012
Location: Germany, Saxony
Device: Kobo Touch, PocketBook Touch 622, PocketBook Touch Lux 623
Quote:
Originally Posted by sebigbos View Post
äh, tja, weißt du, ich frage, weil ich ein schlechtes Gewissen kriege, wenn andere Leute öfters was für mich machen. Deshalb wüßte ich gerne wie es geht, aber dafür sind deine Ausführungen ein bißchen zu basic. Muß ich dich also, falls ich ein größeres japanisch-deutsch-source finde, nochmal bitten....
Nein, ein schlechtes Gewissen braucht keiner zu haben. Da ich als Open-Source-Fan von vielen Dingen profitiere, kann ich u.a. auf diese Weise etwas zurückgeben. Spenden sind natürlich immer willkommen

Und hier etwas ausführlicher:

1. Ich habe aus Deiner .dict alle Kopfzeilen entfernt, damit nur noch die "Essenz" übrig bleibt. Und in diesem Falle heißt das, dass der eigentliche Begriff immer am Zeilenanfang beginnt und die Erläuterung(en) in der/den folgenden Zeile(n) mit einem vorangestellten Leerzeichen. Diese Datei trägt den Name "jpn-de.txt"

2. Nun habe ich folgendes Script erstellt und ausgeführt:
Code:
#!/bin/sh
discr=0
word="xyz"
count=101
cat jpn-de.txt | sed -e "s/^\ /§§/" > jpn-de.tmp
file="RS-Romaji-De.txt"
echo -n > $file
while read line
    do
    if [[ "$line" == "§§"* ]] ; then
        if [ $discr -eq 0 ] ; then
            echo -n $line | sed -e "s/§§//" >> $file
            discr=1
        else
            echo -n $line | sed -e "s/§§//" >> $file
        fi
    else
        count=$(($count+1))
        if [ "$word" = "$line" ] ; then
            echo "" >> $file
            echo -n $line" (${count:1:2})   " >> $file
        else
            count=101
            word=$line
            echo "<br>" >> $file
            echo -n $line"   " >> $file
        fi
        discr=0
    fi
done < jpn-de.tmp
Dieses Script erzeugt mir eine txt-Datei mit je einer Zeile pro Begriff, wobei das notwendige Format für den Konverter berücksichtigt werden muss. D.h. Trennung des Begriffes von der Erläuterung durch 3 Leerzeichen, Umbrüche mit "<br>" usw.
Das Script ließe sich noch optimieren, aber es sollte schnell gehen.

Danach nur noch der Befehl zum Konvertieren:

wine /path_to_DicConverter/converter.exe RS-Romaji-De.txt /path_to_DicConverter/locales/de

Unter dem "Fensterbetriebssystem" würde das "wine" wegfallen.

Das Script muss natürlich immer entsprechend der Quelldatei angepasst werden und ist in diesem Falle sehr einfach. Beim Wiktionary ist das Ganze viel, viel, viel komplexer.

Wünschst Du noch nähere Erläuterungen zum Script?
SIRSteiner is offline   Reply With Quote