Was ist ein guter benutzerdefinierter Sprachübersetzer?

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?

Nein, aber lesen Sie stattdessen diese Frage und die Antworten: writers.stackexchange.com/questions/4368/…
Zur Verdeutlichung: Sie suchen ein Tool, wo Sie Ihr Wörterbuch und Ihre Grammatikregeln irgendwie eingeben und dann einen Übersetzer bekommen, der zwischen Englisch und Ihrer Sprache übersetzen kann?
Entschuldigung, ich glaube, ich hätte das früher erwähnen sollen. Ich habe eine Chiffre für Englisch in meine Sprache eingerichtet und ich habe mich gefragt, ob es ein Programm gibt, mit dem ich Absätze von einem in den anderen übersetzen könnte. (Hinweis: Ich verwende ' und Doppelbuchstaben, um einige der englischen Buchstaben zu ersetzen.)
Ah, es ist also nur eine Chiffre - welches Betriebssystem verwenden Sie (Windows OSX Linux)? Standard-*nix-Tools sollten dies ziemlich einfach tun können, denke ich.
@evilsoup Trauriges Gesicht, ich verwende Win8.1
@evilsoup, cygwin portiert viele Unix-Tools auf Windows, einschließlich sed, awk, perl und python cygwin.com

Antworten (2)

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.

Einrichten

Laden Sie zunächst gVim von hier herunter und installieren Sie es .

Sie benötigen auch das abolish.vim-Plugin für seinen :SubvertBefehl. Schnelle Installationsanleitung dafür (sobald Sie gVim bereits installiert haben):

  1. Erstellen Sie das Verzeichnis C:\Users\YOURUSERNAME\vimfilesund dann die Verzeichnisse C:\Users\YOURUSERNAME\vimfiles\autoloadundC:\Users\YOURUSERNAME\vimfiles\bundle
  2. Laden Sie Pathogen herunter , das ist ein Plugin-Manager für Vim – es ist am einfachsten, einfach die ZIP-Datei zu nehmen und sie zu entpackenC:\Users\YOURUSERNAME\vimfiles\autoload
  3. Laden Sie die ZIP -Datei herunter und extrahieren Sie sie in das Bundle-Verzeichnis
  4. Erstellen Sie eine Textdatei namens _vimrcin C:\Users\YOURUSERNAMEund 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 *

Die Magie

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 :Cypherbeim ersten Mal tippen, und für alle weiteren Gelegenheiten (solange Sie Vim geöffnet lassen) könnten Sie einfach verwenden @:.

Hinweis zur Cypher-Datei

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 _gvimrcDatei, 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 "*pEinfü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.

Einschränkungen

  • Vim ist ein reiner Texteditor – er hat keine Ahnung, was „kursiv“ oder „fett“ bedeutet, also wird das Durchlaufen von Rich-Text dieses Zeug entfernen. Es könnte einen Weg geben, dies zu umgehen, wenn es Ihnen wirklich wichtig ist, aber es erfordert die Installation zusätzlicher Programme. (Oder du könntest deinen Roman in Markdown schreiben, wie alle coolen Kids :V )
  • Es gibt kein Problem mit einfachen Anführungszeichen ( '), 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/

Und C++ könnte Ihnen auch dabei helfen. Beide Sprachen sind leicht zu erlernen.
Python wäre immer noch die am einfachsten zu erlernende Sprache: learnpythonthehardway.org