Ich möchte Translit.net aber auf autohotkey schreiben. So erfolgreich ich mit dem Teil getan, wo ich nur einen Brief:Etwas wie translit.net, aber auf autohotkey
:*:a::а
:*:b::б
:*:v::в
:*:g::г
:*:d::д
...
Aber jetzt habe ich ein Problem mit der Übersetzung von „Shh“ auf „щ“ und andere ‚zwei bis eine Char Übersetzung. Wenn ich shh tippe, bekomme ich схх zurück, aber ich will bekommen. Was könnte ich tuen?
Meine aktuelle Idee: Wenn ich eine Taste drücken, sollte es den Buchstaben aufschreiben und nicht übersetzt Brief an ein 3-Element-Array hinzufügen und überprüfen, ob die Array-Elemente ein shh, erstellen ch, sh oder jede andere Kombination größer als eins. Dann könnte ich den letzten 3 oder 2 geschriebenen Buchstaben entfernen und einen russischen Brief schicken, was ich brauche. Vielleicht weiß jemand einen einfacheren Weg, das zu tun. Ich möchte, dass mein Skript genauso funktioniert wie die Seite, die ich gepostet habe. Eine Lösung in C oder C# anstelle von AutoHotkey würde mir auch helfen.
Korrekte Implementierung würde IME implementieren (die scheinen bereits mehr als einmal getan werden - https://www.bing.com/search?q=ime+translit). Wenn Sie es selbst machen wollen, müssen Sie Code zeigen, mit dem Sie Hilfe wollen und genau das Problem, das Sie ansprechen wollen (vor allem da auf Ihrer Beschreibung Sie bereits Code arbeiten - "Was ist besser Ansatz" ist selten OK Frage auf SO außer man beginnt mit wirklich schrecklichen Ansatz, der nicht Ihr Fall zu sein scheint) –
Dies ist der vollständige Code #SingleInstance Kraft // Dieser Teil funktioniert nicht : *: shh :: 0 : *: ja :: я : *: ju :: ю : *: je :: э : *: ch :: ч : *: zh :: ж : *: jo :: ё Dieser Teil der Arbeit, wie ich wollen: *: a :: а : *: b :: á : *: v :: в : *: :: g г : *: :: d д : *: E :: е : *: :: Z з : *: :: i и : *: :: j й : *: :: k к : *: :: l л : *: :: m м : *: :: n н : *: :: o о : *: p :: п : *: r :: р : *: :: s с : *: :: t т : *: :: u ó : *: :: f ф : *: :: h х : *: c: : ö : *: y :: ы : *: ':: ь – MyName