Auch von mir alles Gute nachträglich und viel Spaß beim Feiern am Wochenende!
Beiträge von L3viathan
-
-
Schade.
Auch schade, dass du dir nach so langer Zeit noch nicht die korrekte Schreibweise von AutoIt angewöhnt hast.

-
Nein, leider geht es

Ich hab den Cache geleert, das müsste doch reichen, um ein komplettes Neuladen zu erzwingen...
-
Da klappt es seltsamerweise...
Es könnte aber nicht an Plugins oder so liegen, oder?
about:version
Google Chrome 8.0.552.224 (Offizieller Build 68599)
WebKit 534.10
V8 2.4.9.14
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
Befehlszeile "C:\Users\(Username)\AppData\Local\Google\Chrome\Application\chrome.exe" --flag-switches-begin --disable-outdated-plugins --enable-accelerated-compositing --enable-match-preview --enable-tabbed-options --enable-webgl --flag-switches-end -
Ich nutze den aktuellen Chrome 8.0.552.224
-
Ich weiß nicht, ob das bei anderen Chrome-Nutzern auch so ist, aber bei mir scrollt die Shoutbox unter Chrome immer nur bis fast nach unten (etwa 2 Zeilen darüber).
Nervt ziemlich. Sieht jemand das Problem?
-
-
Ah klar, kein Problem:
Progandy-Variante
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
$file=Fileopen("dummy.au3")
$newfile=Fileopen("dummy_multilang.au3",1)
Global $iniID=0
$chars=""
While 1
$chars = FileReadLine($file)
If @error = -1 Then ExitLoop
$array = StringSplit($chars,"")
$result=_renderline($array)
FileWriteLine($newfile,$result)
WEndFunc _renderline($array)
[/autoit] [autoit][/autoit] [autoit]
Local $state=0 ; 0=nix, 1=", 2='
Local $returnArray[1],$stringpos=0
For $i=1 To $array[0]
Switch $state
Case 0
;wir schauen nach allem
Switch $array[$i]
Case ";"
;Kommentar, nächste Zeile (vorerst auffressen)
ExitLoop
Case "'"
$state=2
$stringpos=$i
Case '"'
$state=1
$stringpos=$i
Case Else
_ArrayAdd($returnArray,$array[$i])
EndSwitch
Case 1
;wir schauen nach "
Switch $array[$i]
Case '"'
$state=0
$string=StringFromArray($array,$stringpos,$i)
_ArrayAdd($returnArray,"__(" & $string & "," & $string & ")")
Case Else
ContinueLoop
EndSwitch
Case 2
;wir schauen nach '
Switch $array[$i]
Case "'"
$state=0
;~ $string="STRB" & StringFromArray($array,$stringpos,$i) & "SRTE"
$string=StringFromArray($array,$stringpos,$i)
_ArrayAdd($returnArray,"__(" & $string & "," & $string & ")")
Case Else
ContinueLoop
EndSwitch
EndSwitch
Next
Return StringFromArray($returnArray)
EndFuncFunc StringFromArray($array,$stringpos="def",$i="def")
[/autoit]
If not IsArray($array) Then MsgBox(0,"Error","Not an array inside StringFromArray")
If $stringpos="def" Then
$stringpos=0
$i= UBound($array)-1
EndIf
$ret=""
For $j=$stringpos To $i
$ret &= $array[$j]
Next
Return $ret
EndFunc -
Wie kombinieren?
Ich hab mir deinen Code noch nicht komplett angesehen, aber macht der nicht exakt das gleiche (nur besser)? -
Klar, es ist natürlich am besten, wenn man es von Anfang an multilingual plant.
Mache ich aber nicht immer... -
also einfach zweiten Parameter weglassen?
-
@Bloodykill: Richtig verstanden, außer den Verwendungszweck (auch wenn das natürlich auch geht)
Der Hauptzweck ist es aber, dass man ganz einfach zum Beispiel Programme schreiben kann, die in unterschiedlichen Sprachen (Englisch, Deutsch, Französisch bspw.) verfügbar sind. Die Implementierung eines Sprachauswahldialogs o.ä. habe ich bewusst weggelassen, das kann der jeweilige Entwickler dann selbst machen.
-
Yeeeah, Flamewar!!!
Vote: Linux & Windows (Mac muss sterben) -
Hi,
Ich hatte mich damit schonmal vor einiger Zeit beschäftigt:
Wie macht man ein Skript schnell multilingual.Damals hab ich das mit RegEx gemacht, war aber dumm, weil er verschachtelte Strings nicht konnte... Also heute mit Schleifen und Zeile-für-Zeile abarbeiten.
Es ist noch ziemlich Beta, aber funktioniert in den meisten Fällen.
Probleme:- Kommentare werden einfach verschluckt.
- Strings in Funktionsdefinitionen werden auch ersetzt, das muss man also von Hand korrigieren
- Man muss nach der Umwandlung per Hand an den Beginn des Skriptes $lang="de" (bzw. die gewünschte Sprache) stellen
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
$file=Fileopen("dummy.au3")
$newfile=Fileopen("dummy_multilang.au3",1)
Global $iniID=0
$chars=""
For $i=1 To 9999999999
$chars = FileReadLine($file, $i)
If @error = -1 Then ExitLoop
$array = StringSplit($chars,"")
$result=_renderline($array)
FileWriteLine($newfile,$result)
NextFunc _renderline($array)
[/autoit] [autoit][/autoit] [autoit]
Local $state=0 ; 0=nix, 1=", 2='
Local $returnArray[1],$stringpos=0
For $i=1 To $array[0]
Switch $state
Case 0
;wir schauen nach allem
Switch $array[$i]
Case ";"
;Kommentar, nächste Zeile (vorerst auffressen)
ExitLoop
Case "'"
$state=2
$stringpos=$i
Case '"'
$state=1
$stringpos=$i
Case Else
_ArrayAdd($returnArray,$array[$i])
EndSwitch
Case 1
;wir schauen nach "
Switch $array[$i]
Case '"'
$state=0
$string=StringFromArray($array,$stringpos,$i)
$iniID +=1
IniWrite("multilang.ini","de",$iniID,$string)
_ArrayAdd($returnArray,"IniRead('multilang.ini',$lang," & $iniID & "," & $string & ")")
Case Else
ContinueLoop
EndSwitch
Case 2
;wir schauen nach '
Switch $array[$i]
Case "'"
$state=0
;~ $string="STRB" & StringFromArray($array,$stringpos,$i) & "SRTE"
$string=StringFromArray($array,$stringpos,$i)
$iniID +=1
IniWrite("multilang.ini","de",$iniID,$string)
_ArrayAdd($returnArray,"IniRead('multilang.ini',$lang," & $iniID & "," & $string & ")")
Case Else
ContinueLoop
EndSwitch
EndSwitch
Next
Return StringFromArray($returnArray)
EndFuncFunc StringFromArray($array,$stringpos="def",$i="def")
[/autoit]
If not IsArray($array) Then MsgBox(0,"Error","Not an array inside StringFromArray")
If $stringpos="def" Then
$stringpos=0
$i= UBound($array)-1
EndIf
$ret=""
For $j=$stringpos To $i
$ret &= $array[$j]
Next
Return $ret
EndFunc -
-
Oder du schaust dir mal die Ergebnisse dieses µitLight-Wettbewerbs an: https://autoit.de/index.php?page…3160#post173160
-
Na dann kannst du das sicher irgendwie über Fn machen^^
-
Ich verstehe deren Sinn nicht ganz. Windows hat doch eine eingebaute Tastaturmaus! (Alt+Shift+Numlock)
-
Zitat von MatthiasG.
Wer hat denn iTunes bitte überhaupt?
Jemand mit iPod.
Alle anderen Programme bedürfen ja keiner Automatisierung, weil sie auf Medientasten reagieren. -
Habe einen Bug gefixed und es gibt neue Features: iTunes-Steuerung (warum lässt sich iTunes eigentlich nicht über die Medientasten steuern???)