Language File für ein Programm erstellen

Hallo zusammen,
ich muss vorweg schicken, dass ich bezgl. Programmierung usw. absolut keine Ahnung habe, und auch nicht haben will…lol.
Aber ich denke, wenn, dann bekomme ich hier Antwort auf meine Frage.

Also, wie geht es technisch vor sich, wenn man ein Sprachfile für ein Programm erstellen will?
Also z.B. Person 1 hat ein Programm geschrieben, auf Englisch sagen wir mal.
Er möchte es gerne auch in anderen Sprachen verkaufen, kann diese aber nicht. Person 2 soll also nun das Programm übersetzen, in deutsch als Beispiel.
Wie geht das technisch vonstatten, wie muss man sich das vorstellen? Wie gesagt, ich habe von sowas keine Ahnung.
Schickt Person 1 den gesamten Quellcode des Programms (heisst das so?) an Person2?
Oder kann Person 1 irgendwie nur alle Dialoge, Beschriftungen von Buttons usw. quasi extrahieren und an Person2 schicken?

Danke für eure Antworten.

Hallo prikkelpitt,

wie geht es technisch vor sich, wenn man ein Sprachfile
für ein Programm erstellen will?

Oder kann Person 1 irgendwie nur alle Dialoge, Beschriftungen
von Buttons usw. quasi extrahieren und an Person2 schicken?

Ich weiss nicht, ob es ein allgemeines Vorgehen für alle Programmiersprachen und Betriebssysteme gibt. Aber bei Linux ist die Vorgensweise meist so, wie Du das oben beschrieben hast. Es existiert ein Hilfsprogramm „gettext“, daß aus dem vorbereiteten Programmtext alle Zeichenketten „extrahiert“ und in ein Extra-File schreibt. Vorbereitet heisst, daß diese übersetzbaren Texte natürlich von Hand „markiert“ werden müssen, z.B. so:

print(\_("Mein Name ist Marvin")

wobei _ das „Markierungszeichen“ ist.
Daraus erhält man dann mit gettext in der Übersetzungsdatei die Zeile

msgid "Mein Name ist Marvin"
msgstr ""

und kann dann maschinell oder von Hand

msgid "Mein Name ist Marvin"
msgstr "My name is Marvin"

draus machen. Auf diese Weise können für alle möglichen Sprachen Dateien erzeugt werden, die durch ihren Namen gekennzeichnet sind: en.po für englisch, frz.po für französisch, ru.po für russisch usw. Diese ganzen Dateien werden dann nochmals mittels eines Programmes durch den Wolf gedreht und können anschliessend zusammen mit der ganzen Software ausgeliefert werden.
Der User hat auf seinem System eingestellt, welche Sprache er bevorzugt (deutsch, französisch, englich …) und je nachdem werden die passenden Sprachschnipsel extrahiert und angezeigt.
Ich hoffe, daß war auch für einen Nicht-Programmierer einigermaßen verständlich.

Viele Grüße
Marvin

Hi,
viele Programme machen das so das du eine Datei hast in der sämtliche Beschriftungen und so weiter in z.B. englisch vorhanden sind. Diese Datei nennen wir mal default.lang. Wenn ich das Programm jetzt aber auf deutsch haben will nehme ich diese Datei default.lang und übersetzte mir die ganzen Beschriftungen und ersetzte sie in der Datei.
Lg Knerd

Stark vereinfach:

Der Programmier versieht sein programm mit einer sprach abfrage (z.b. englisch / deutsch) . alle sprachbezogenen teile kommen je sprache in eine extra datei

also im programmcode schreibt er nicht
print („abbrechen“) sondern print ($_msg_txt_abort)

in der englischen textdatei wäre dann drin
$_msg_txt_abort=„Abort“

in der deutschen textdatei wäre dann drin
$_msg_txt_abort=„Abrechen“

usw…