Ich arbeite an einer Fantasy-Geschichte, die eine Sprache der Macht (TVTROPES) enthält, und ich habe versucht, mich online umzusehen, um einen automatischen Übersetzer für die Sprache zu finden, die ich mir ausgedacht habe, aber ich kann keinen finden.
Gibt es also einen automatischen Übersetzer für benutzerdefinierte Sprachen, die ich nicht sehe?
Ich vermute, dass die beste Antwort für Ihren Anwendungsfall darin besteht, dass jemand ein Word- oder LibreOffice-Makro schreibt, aber ich wüsste nicht einmal, wo ich damit anfangen soll.
Sie könnten dafür jedoch Vim verwenden – insbesondere gVim, das eine Windows-Version hat. Dies erfordert ein wenig Einrichtung, aber ich denke, die Ergebnisse sind es wert.
Hinweis: Obwohl es bei weitem nicht so umwerfend ist, wie seine Kritiker glauben machen würden, ist das Erlernen von Vim nicht trivial und würde den Rahmen dieser Antwort sprengen. Wenn Sie möchten, können Sie nach der Installation von gVim das Startmenü verwenden, um nach „Vim Tutor“ (ohne Anführungszeichen) zu suchen, um ein interaktives Tutorial der Grundlagen zu erhalten. Es lohnt sich, es zu lernen, wenn Sie sich damit auskennen.
Laden Sie zunächst gVim von hier herunter und installieren Sie es .
Sie benötigen auch das abolish.vim-Plugin für seinen :Subvert
Befehl. Schnelle Installationsanleitung dafür (sobald Sie gVim bereits installiert haben):
C:\Users\YOURUSERNAME\vimfiles
und dann die Verzeichnisse C:\Users\YOURUSERNAME\vimfiles\autoload
undC:\Users\YOURUSERNAME\vimfiles\bundle
C:\Users\YOURUSERNAME\vimfiles\autoload
_vimrc
in C:\Users\YOURUSERNAME
und fügen Sie die folgenden Zeilen darin ein:.
execute pathogen#infect()
set encoding=utf-8
Jetzt müssen Sie Ihre Chiffrierdatei erstellen. Dies wird tatsächlich eine einfache Textdatei mit Befehlen für Vim sein. Es sollte in etwa so aussehen:
"paste from the clipboard into vim:
0put *
"The substitute commands
"Make sure you use %S rather than %s
"The 'silent!' prevents error messages
silent! %S/quick/varryn/g
silent! %S/fox/drugar/g
silent! %S/dog/foob/g
"delete the blank line which vim will have added:
$delete
"cut the text into the clipboard:
%delete *
Angenommen, Sie haben die folgenden Absätze:
Der schnelle, braune Fuchs springt über den faulen Hund. Der schnelle, braune Fuchs springt über den faulen Hund.
'Schnell!' rief der Hund untypisch dem Fuchs zu: „Spring über mich!“
... und Sie möchten Ihre Chiffre darüber laufen lassen, damit jede Instanz von 'quick' durch 'varryn' ersetzt wird und so weiter. Kopieren Sie zuerst den Text aus Ihrem Word-Dokument (oder was auch immer). Öffnen Sie dann gVim und geben Sie Folgendes ein (drücken Sie am Ende die Eingabetaste):
:source C:\path\to\cypher.txt
Danach können Sie den Absatz einfach wieder in Ihr Word-Dokument einfügen, et voilà :
Der varryn, braune Drugar springt über den faulen Foob. Der varryn, braune Drugar springt über den faulen Foob.
„Varyn!“ schrie der Foob dem Drugar untypisch zu: „Spring über mich!“
Möglicherweise möchten Sie nicht den vollständigen Pfad zu Ihrer Chiffrierdatei eingeben müssen. Sie könnten die folgende Zeile an das Ende Ihrer setzen _vimrc
:
command Cypher :source C:\path\to\cypher.txt
Damit können Sie einfach tippen :Cypher
(und die Eingabetaste drücken), ohne sich jedes Mal merken zu müssen, wo sich die Datei befindet.
Wenn Sie außerdem @:
innerhalb von Vim eingeben, wird der vorherige Befehl im Befehlszeilenmodus (die mit einem beginnen :
) wiederholt; Wenn Sie also mehrere Absätze übersetzen, müssten Sie nur :Cypher
beim ersten Mal tippen, und für alle weiteren Gelegenheiten (solange Sie Vim geöffnet lassen) könnten Sie einfach verwenden @:
.
Sie haben in einem der Kommentare angegeben, dass Sie bereits eine Chiffre eingerichtet haben. Sie können gVim verwenden, um dies in die hier benötigte Syntax umzuwandeln, anstatt alles erneut einzugeben.
Ich gehe davon aus, dass Ihre Chiffre auf ähnliche Weise eingerichtet ist. Wenn dies nicht der Fall ist, können Sie einen Kommentar hinterlassen und ich werde dies entsprechend ändern:
quick varryn
fox drugar
dog foob
Kopieren Sie die Zeilen aus der Datei, in der sie gerade gespeichert sind, und öffnen Sie gVim. Geben Sie Folgendes ein: "*p
-- dies wird aus der Zwischenablage Ihres Systems eingefügt (und nicht aus einer der vielen internen Zwischenablagen von Vim -- von Vim "Register" genannt).
(Wenn Sie nicht-englische Buchstaben verwenden, werden einige von ihnen möglicherweise nicht richtig angezeigt, da die Standardschrift nicht sehr gut ist. Unter Windows sollten Sie Zugriff auf die hervorragenden Consolas haben; geben Sie ein :set guifont=Consolas:h10
(Sie können diesen Befehl in Ihre _vimrc
, oder alternativ in einer _gvimrc
Datei, wenn Sie möchten).)
Geben Sie dann den folgenden Befehl ein (und drücken Sie am Ende die Eingabetaste):
:%s/\([^ ]*\) \(.*\)/silent! %S\/\1\/\2\/g
Es ist ziemlich lang. Wenn Sie also Angst haben, es falsch einzugeben, können Sie es aus dieser Antwort kopieren und dann in Vim q:
eingeben (was einen kleinen Rahmen am unteren Rand Ihres gVim-Fensters anzeigen sollte), gefolgt von "*p
Einfügen Geben Sie den Befehl ein und drücken Sie dann die Eingabetaste.
Sie sollten jetzt Zeilen wie diese haben:
silent! %S/quick/varryn/g
silent! %S/fox/drugar/g
silent! %S/dog/foob/g
Als nächstes müssen Sie die anderen Befehle einfügen, die zum Ausführen der Chiffre erforderlich sind. Geben Sie die folgenden Befehle ein (drücken Sie am Ende jedes Befehls die Eingabetaste):
:0s/^/0put *\r/
:$s/$\r$delete\r%delete */
Danach sollten Sie eine Datei haben, die in etwa so aussieht:
0put *
silent! %S/quick/varryn/g
silent! %S/fox/drugar/g
silent! %S/dog/foob/g
$delete
%delete *
Jetzt müssen Sie es nur noch speichern:
:w C:\path\to\cypher.txt
Und beenden Sie gVim mit :q
.
'
), aber wenn Sie das doppelte Anführungszeichen irgendwo in Ihren verschlüsselten Text einfügen möchten, müssen Sie ihm einen umgekehrten Schrägstrich voranstellen (weil "
es für Kommentare in Vim-Befehlsdateien verwendet wird).Nun, wenn Sie *nix nicht haben und mit der Programmierung nicht vertraut sind, dann gibt es einen Weg, es zu tun, obwohl es ein wenig langsam sein könnte. Word bietet eine Funktion zum Suchen/Ersetzen, mit der Sie schnell alle Wörter in einem Dokument/einer Auswahl durch ein Wort ersetzen können, das Sie ihm geben. Es ist schnell zu ersetzen, der langsame Teil ist, dass es eine Weile dauern kann, wenn Sie versuchen, eine ganze Reihe von Wörtern zu ersetzen.
Auf der anderen Seite, wenn es Ihnen nichts ausmacht, Programmieren zu lernen, können Sie das Programmieren wahrscheinlich in ein paar Stunden lernen, wenn Sie engagiert sind. Vielleicht würde Java Ihren Bedürfnissen entsprechen? http://www.tutorialspoint.com/java/
Lauren-Clear-Monica-Ipsum
Philipp
Cyberson
böse Suppe
Cyberson
unterstützt