Linuchs: Mehrsprachigkeit

Beitrag lesen

Auch ohne Gruß

Seit den 1980er Jahren beschäftige ich mich mit multilingualem Programmieren (das war noch vor dem Internet). Damals (unter Cobol) waren Programmcode und angezeigter Bildschirm-Inhalt noch in einer Datei. Fast jedes Schrauben an der Oberfläche brachte Programmfehler mit sich (was schief gehen kann, geht irgendwann schief).

Für ein großes Kundenprojekt und meinen Web-Veranstaltungskalender, von der Pike an selbst programmiert, habe ich vor 13 Jahren eine Lösung gefunden, die ich noch nicht bereut habe.

Jedes Programm besteht aus einer .php - und einer .html - Datei. PHP bereitet die wechselnden Daten auf und übergibt sie als Array dem Unterprogramm display.php, das seinerseits die .html-Datei liest, die dortigen Platzhalter füllt und an den Browser sendet.

Dieses Unterprogramm erkennt auch, alternative Sprach-Konstrukte in der Form ###deutsch###english###nederlands###, erzeugt daraus ein Array und ersetzt das Konstrukt durch $arr[0] im Fall deutsch. Zu Beginn gab es noch französisch und polnisch, aber von dort kamen keine Interessenten.

Das System geht noch weiter. Da in vielen Programmen gleichartige input-Felder benötigt werden, trage ich in der .html-Datei nur noch ein

[feld_anred]
[feld_titel]
[feld_vname]
[feld_nname_required]
[feld_submit_aen]

display.php liest die Datei /felder/feld_anred.htm, setzt den Inhalt anstelle des Aufrufs und erst danach wird die Sprache ausgewertet:

<p><l>###Anrede###Salutation###Aanhef###</l>
<input [disabled]
type        = 'text'
name        = 'anred'
title       = 'anred'
maxlength   = 10
size        = 10
value       = '[anred]'
placeholder = "Herr Mr. Dhr."
/></p>