Löffelsprache Übersetzer

  • Dolewoulewuky, delewer Velewerschlülewüsselewelelewer ilewist, nalewajalewa xC <- Meine antwort ....

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Eine echt "Komische" Sprache oO die wahr / ist mir bis Heute unbekannt ^^
    Aber sie erinnert mich einwenig an meine Schulzeit wo wir "Läfisch" gesprochen haben...
    Das gibt etwa so:
    Hey, Das wahr wieder einmal Lustig Heute
    Henefey, Danafas wanafahr winifidenefer eineifeinmanafal Lunifustinifig Honofeutenefe

    ^^ währ auch mal ne möglichkeit sowas zu coden höhö ^^

  • Dolewoulewuky, delewer Velewerschlülewüsselewelelewer ilewist, nalewajalewa xC <- Meine antwort ....

    Mh weiß nicht aber wenn man sich etwas konzentriert kann man es doch trotzdem lesen. Müsste heißen: Douky, der Verschlüsseler ist, naja

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Die Funktion ist stark optimierbar, da die "Verschlüsselung" nicht sonderlich komplex ist
    (ich hoffe ich hab in dem Muster nix vergessen ;) :(

    [autoit]

    $text = InputBox("Title","Text plz","Douky, der Verschlüsseler ist, naja")

    [/autoit][autoit][/autoit][autoit]

    Func convert($in)
    Return StringRegExpReplace($in,"([öüäaeiouÜÖÄAEIOU])","$1lew$1"); siehe neues Muster unten
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"Löffelsprache",convert($text))

    [/autoit]

    EDIT: ja ich sehs schon, das "ie" etc. wird nicht berücksichtigt, sollte aber machbar sein viel spaß damit :P
    dieses Muster sollte alles treffen: (ie|au|ei|[öüäaeiouÜÖÄAEIOU])

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Hi Leute!
    Auch wenn dieses Thema schon etwas älter ist, möchte ich doch noch was dazu schreiben:
    Wenn ich in den Übersetzer wörter eingebe, die mit au enden, ohne satzzeichen usw. bekomme ich folgende Felermeldung:
    AutoIt ErrorLine 113 (File "D:\DOWNLOAD\loeffelsprache.au3"):If $chrarr[$i] & $chrarr[$i + 1] = "ei" ThenIf $chrarr[$i] & ^ ERRORError: Array variable has incorrect number of subscripts or subscript dimension range exceeded.
    Da ich von Autoit-Programmierung nicht viel verstehe, wäre es schön, wenn jemand dieses problem irgendwie beheben könnte.

  • Das ist ein Fehler in der Abfrage. Wenn einer der vorherigen Abfragen wahr ist, dann wird das Array um 1 Element verringert und dadurch entsteht der Fehler. Das lässt sich leicht umgehen indem man daraus eine If-ElseIf Abfrage macht.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiEdit.au3>
    #include <array.au3>
    #Region ### START Koda GUI section ### Form=
    $Form_main = GUICreate("Löffelsprache Übersetzer - by Douky", 521, 310, 193, 125)
    $Edit_original = GUICtrlCreateEdit("", 80, 8, 433, 113,BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
    $Label1 = GUICtrlCreateLabel("Original Text", 8, 56, 63, 17)
    $Edit_uebersetzung = GUICtrlCreateEdit("", 80, 160, 433, 113,BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
    $Label2 = GUICtrlCreateLabel("Übersetzung", 8, 208, 64, 17)
    $Button_uebersetzen = GUICtrlCreateButton("Übersetzen", 80, 280, 75, 25, 0)
    $Button_help = GUICtrlCreateButton("Löffelsprache?", 160, 280, 115, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    Local $arr[11][2]

    [/autoit] [autoit][/autoit] [autoit]

    $arr[0][0] = "ie"
    $arr[0][1] = "ielewie"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[1][0] = "au"
    $arr[1][1] = "aulewau"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[2][0] = "ei"
    $arr[2][1] = "eilewei"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[3][0] = "u"
    $arr[3][1] = "ulewu"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[4][0] = "o"
    $arr[4][1] = "olewo"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[5][0] = "a"
    $arr[5][1] = "alewa"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[6][0] = "e"
    $arr[6][1] = "elewe"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[7][0] = "i"
    $arr[7][1] = "ilewi"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[8][0] = "ä"
    $arr[8][1] = "älewä"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[9][0] = "ö"
    $arr[9][1] = "ölewö"

    [/autoit] [autoit][/autoit] [autoit]

    $arr[10][0] = "ü"
    $arr[10][1] = "ülewü"

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button_uebersetzen
    GUICtrlSetData($Edit_uebersetzung, _chars_replace(_check_ie_au_ei(_string_zerlegen(GUICtrlRead($Edit_original))), $arr))
    Case $Button_help
    MsgBox(64, "Was hat es mit der Löffelsprache auf sich?", 'Gesprochen wird im Prinzip in Silben, das erleichtert die Aussprache und ein fremder Zuhörer weiß nicht unbedingt' & @CRLF & ' wann ein Wort zuende ist und wann nicht.' & _
    'Immer wenn ein Vokal kommt,' & _
    'wird dieser durch ein "lew + selber Vokal" ersetzt:' & @CRLF & _
    'e = elewe' & @CRLF & _
    'a = alewa' & @CRLF & _
    'i = ilewi' & @CRLF & _
    'o = olewo' & @CRLF & _
    'u = ulewu' & @CRLF & _
    'ü = ülewü' & @CRLF & _
    'ö = ölewö' & @CRLF & _
    'ä = älewä' & @CRLF & _
    'ie = ielewie' & @CRLF & _
    'au = aulewau' & @CRLF & _
    'ei = eilewei')
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;MsgBox(0, "", StringReplace("Hallo", "a", $a))

    [/autoit] [autoit][/autoit] [autoit]

    Func _chars_replace($charstoreplacearr, $arr)
    For $i = 0 To UBound($charstoreplacearr) - 1
    For $h = 0 To UBound($arr) - 1
    $charstoreplacearr[$i] = StringReplace($charstoreplacearr[$i], $arr[$h][0], $arr[$h][1])
    If @extended > 0 Then ExitLoop
    Next
    Next
    Return _ArrayToString($charstoreplacearr, "")
    EndFunc ;==>_chars_replace

    [/autoit] [autoit][/autoit] [autoit]

    Func _string_zerlegen($string)
    Dim $charsarray[1]
    For $i = 1 To StringLen($string)
    _ArrayAdd($charsarray, StringMid($string, $i, 1))
    Next
    _ArrayDelete($charsarray, 0)
    Return $charsarray
    EndFunc ;==>_string_zerlegen

    [/autoit] [autoit][/autoit] [autoit]

    Func _check_ie_au_ei($chrarr)
    For $i = 1 To UBound($chrarr) - 1
    If UBound($chrarr) < $i + 2 Then ExitLoop
    If $chrarr[$i] & $chrarr[$i + 1] = "ie" Then
    _ArrayDelete($chrarr, $i)
    _ArrayDelete($chrarr, $i)
    _ArrayInsert($chrarr, $i, "ie")
    ElseIf $chrarr[$i] & $chrarr[$i + 1] = "au" Then
    _ArrayDelete($chrarr, $i)
    _ArrayDelete($chrarr, $i)
    _ArrayInsert($chrarr, $i, "au")
    ElseIf $chrarr[$i] & $chrarr[$i + 1] = "ei" Then
    _ArrayDelete($chrarr, $i)
    _ArrayDelete($chrarr, $i)
    _ArrayInsert($chrarr, $i, "ei")
    EndIf
    Next
    Return $chrarr
    EndFunc ;==>_check_ie_au_ei

    [/autoit]
  • ilewich kelewennelewe nulewur dielewie Lölewöffelewelchelewenstelewellulewung. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl