Avatar

Multilingual forum (Project organisation)

by Auge ⌂, Friday, October 28, 2016, 07:04 (2730 days ago) @ Micha

Hallo

$smarty->assign('language_file', $language_file);


Hier wird nur eine Variable angelegt, auf die man im Template dann zugreifen kann.

Danke für die Klarstellung.

// Keine Ahnung, was ich mit der vorangehenden Zeile mache
// Ohne die Zeile gibt's eine Fehlermeldung

Aber an einer anderen Stelle, wo versucht wird, auf diese Variable zuzugreifen, oder?

Ja, in irgendeiner Datei des Smarty-Plugins. Die Meldung habe ich mir nicht rauskopiert. Wenn du, entsprechendes Interesse vorausgesetzt, die Zeile in der index.php auskommentierst und das Forum neu lädst, kannst du sie sehen.

Für configLoad ist es jedenfalls nicht notwendig.

Soweit hatte mich das Studium der Doku auch gebracht und dann war Schluss. Das ist, wie gegen eine Wand zu laufen. :-(

Davon ab ist mir in einer nächtlichen Grübelsitzung folgendes durch den Kopf gegangen. Die von mir angeregte Zusammenführung der Arrays kann sich als eine Performanzbremse par excellence herausstellen. So, wie ich das angeregt habe, wird die ja bei jedem Request einer Forumsseite ausgeführt. Das fällt, wenn's nach mir geht, aus.

Ich habe beim grübeln aber zwei neue Ideen gehabt.

Die Sprachdateien sind in einem Format abgespeichert, dass den INI-Format entspricht. Die Schlüssel-Wert-Paare lassen sich in Arrays einlesen und deren Schlüssel widerum lassen sich vergleichen und die Unterschiede ermitteln. Wie dabei mit mehrdimensionalen Arrays umzugehen ist, muss ich noch ausprobieren.

Ich kann nun dem Admin in der Sidebar der Admin-Übersicht anzeigen, dass es soundsoviele nicht übersetzte Strings gibt und ihn für ein HowTo zur Übersetzung auf die Dokumentation verweisen. Wenn ich ganz generös bin, kann ich noch einen Link zu einer Auflistung der Unterschiede beifügen.

Allerdings halte ich einen Verweis auf ein Diff-Programm wie z.B. WinMerge (Windows) oder Merge (Linux) für ausreichend. Für diese beiden Programme kann ich bestätigen, dass sie die unmittelbare Bearbeitung von Dateien erlauben sowie zwischen fehlenden und teilweise gleichen Zeilen unterscheiden können. Der letzte Fall ist in den Sprachdateien der Normalzustand (identische Schlüssel, unterschiedliche Texte), fehlende Zeilen wären jene Stellen, an denen die nicht übersetzten Strings hinkommen.

Als Alternative kann auch jeder nicht übersetzte String in der Default-Sprache (englisch) in jede Sprachdatei eingefügt werden. Die Strings werden auffallen und es wird Übersetzungen geben.

Die Übersetzungen werden uns hoffentlich hier oder auf Github angeboten und können dann eingepflegt werden. Auf der Ausgabeseite, an der ich gestern herumprobiert habe, würde sich in Sachen Code in beiden Fällen nichts ändern.

Gefällt dir (zumindest) eine der Ideen? Wenn ja, welche ist es?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

locked
56136 views

Complete thread:

 RSS Feed of thread