Ener: Einstellungen und Sprachen

Hallo,
bei fast jedem GUI-Programm treten ja grundsätzlich zwei Probleme auf:
-Wie Modelliere ich Einstellungen
-Wie Modelliere ich Sprachen
Also wie werden diese jeweils repräsentiert?
Dafür gibt es doch bestimmt Artikel von klugen Leuten, die sich da schon jede Menge Gedanken zu gemacht haben. Also ich suche sozusagen Entwurfsmuster für diese Standard-Probleme.

Grüße!

P.S.: Mich interessiert das besonders für Java.

  1. Also ich suche sozusagen Entwurfsmuster für diese Standard-Probleme.

    Möglicherweise hilft dir das hier:

    https://forum.selfhtml.org/?t=205748&m=1395261

    1. Hallo!

      Möglicherweise hilft dir das hier:

      https://forum.selfhtml.org/?t=205748&m=1395261

      Nein, leider nicht :S
      Selbst wenn PHP zwar auch die Möglichkeiten anbieten würde, wird es hier nicht Objektorientiert besprochen...

      Gruß und trotzdem vielen Dank!

      1. Selbst wenn PHP zwar auch die Möglichkeiten anbieten würde, wird es hier nicht Objektorientiert besprochen...

        Ich war jetzt schon geneigt, mein Bullshit-Bingo rauszukramen.

        Wovon sprichst du bitte?

        1. Wovon sprichst du bitte?

          Der Ansatz der in dem Link besprochen wird, ist soetwas von nicht Objektorientiert und eignet sich für eine Sprache für Java imho (zumindest nach guten Stil) sowas von überhaupt nicht.
          Nach dem müsste ich ja in jeder UI diese Arrays definieren und wenn ich dann ne Sprache hinzufügen möchte, na Prost Malzeit :D
          Alternativ könnte man natürlich ne Statische Klasse schreiben, wo die Arrays Drin liegen und nen Zugriff a la Sprache.HashMap.get("titel"); machen, schön ist was anderes!
          Außerdem sollen Sprachen hinzufügbar sein, dass heißt, die Daten müssen außerhalb des eigentlichen Programmes (z.B. als Datenbank oder xml-file) liegen.
          Also nichts Bullshit, sondern doch durchaus was dabei gedacht :)

          1. Wovon sprichst du bitte?

            Der Ansatz der in dem Link besprochen wird, ist soetwas von nicht Objektorientiert und eignet sich für eine Sprache für Java imho (zumindest nach guten Stil) sowas von überhaupt nicht.

            Objektorientierung ist überbewertet, die Motwendigkeit wird meistens von Menschen angekreidet, die sie nicht verstanden haben.

            Ob du diesen Ansatz nur als Prozedur verwendest oder in eine Klasse verpackst ist völlig egal - das sind ein paar zweile extra Code.

            Dann kannst du meinetwegen auch einen Setter einbauen, der die Sprache einmalig konfiguriert und du nächstes mal nur rausklauben musst.

            Nach dem müsste ich ja in jeder UI diese Arrays definieren und wenn ich dann ne Sprache hinzufügen möchte, na Prost Malzeit :D

            Ja - das ist genau der Sinn der Sache, die Sprachroutine merged dann alle Arrays zu beginn und die Sache ist erledigt. Nur so ist eine Modulare Verwaltung der Sprachen und Pakete überhaupt möglich.

            Alternativ könnte man natürlich ne Statische Klasse schreiben, wo die Arrays Drin liegen und nen Zugriff a la Sprache.HashMap.get("titel"); machen, schön ist was anderes!

            Warum liegen die Arrays nicht in externen Konfigurationsfiles und werden durch die Klasse nur gelesen? Wer sagt denn, dass die Sprachkonfiguration hardcodiert sein muss?

            Außerdem sollen Sprachen hinzufügbar sein, dass heißt, die Daten müssen außerhalb des eigentlichen Programmes (z.B. als Datenbank oder xml-file) liegen.

            XML, CSV, ein Array - völlig egal - du wirst es nicht für möglich halten, aber TYPO3 vervolgt exakt den ansatz, den ich beschrieben habe.

            Die Klasse heisst tslib_fe - die nötigen Funktionen sind ab Zeile 4736 zu finden.

            Also nichts Bullshit, sondern doch durchaus was dabei gedacht :)

            Ja, aber nicht sehr weit :)

            1. Die Klasse heisst tslib_fe - die nötigen Funktionen sind ab Zeile 4736 zu finden.

              Nachtrag - ein bisschen liegt auch noch in t3lib_div - z.B. die Funktion zum Lesen und Parsen der einzelen Sprachfiles.

              readLLPHPfile()

  2. Hi!

    -Wie Modelliere ich Einstellungen

    Konfigurationsparameter kann man vom relativ einfachen ini-Format bis hin zum komplexen XML ablegen. Das ist so individuell wie die Anforderungen der Anwendungen. Je nach verwendetem Framework gibt es jedoch bereits Unterstützung. Da must du abwägen, ob die für deine Bedürfnisse reicht oder dich nach was anderem umsehen. Eigenentwicklung ist natürlich auch möglich. Dass es für Einstellungswerte ein Entwurfsmuster gäbe ist mir nicht bekannt.

    -Wie Modelliere ich Sprachen

    Auch dafür gibt es diverse Lösungen. Die sind vor allem abhängig vom verwendeten Framework und vor allem von der Ausgabelogigk (Template-System oder View oder wasauchimmer)

    Dafür gibt es doch bestimmt Artikel von klugen Leuten, die sich da schon jede Menge Gedanken zu gemacht haben. Also ich suche sozusagen Entwurfsmuster für diese Standard-Probleme.

    Die beiden Probleme sehen zwar auf den ersten groben Blick wie Standard aus, doch die individuellen Anforderungen sind zu verschieden für einheitliche Lösungsmuster. Stichwörter zum Suchen wären Internationalisierung, Lokalisierung und Konfiguration nebst der englischen Versionen internationalization (i18n), localization (l10n) und configuration / settings.

    Lo!