bituniverse.com Foren-Übersicht bituniverse.com
Entwickler Forum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

multilanguage

 
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> PHP allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
xena



Anmeldedatum: 17.05.2008
Beiträge: 2

BeitragVerfasst am: Sa 17 Mai, 2008 19:36    Titel: multilanguage Antworten mit Zitat

hihu ihrs

hab mal ne frage zwecks mehrsprachigkeit.

so die ganzen menu einträge usw in ne db gut ne sparchdatei auch gut aber wie mach ich es nun wenn ich ein neuen menupunkt generiere und später ne neue sprachdatei hinzufüge.
gibts da ideen das man bei einer neuen sprache nich gleich alle menu punkte in der sprache neu anlegt sondern irgendiwe ausliest und angezeigt wird das menu punkt 3 (zb. forum) noch nich in der sprache übersetzt ist.

oder ist es doch besser wenn man ne neue sprachdatei einpflegt das man dann alle menu punkte in der sprache neu anlegt

wenn man ein modul dazulädt zb chat oder news ect. dann müsste das modul ja acuh wieder ne sprachdatei besitzen um das auszugeben werden dann ja irgendwann viele sprachpakete


wie macht ihr sowas


by xena

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Simon W.
Anti-verdenglischungs-Abgeordneter


Anmeldedatum: 05.11.2007
Beiträge: 312
Wohnort: Aachen

BeitragVerfasst am: So 18 Mai, 2008 00:59    Titel: Antworten mit Zitat

ein dazugeladenes modul sollte auf eine standardsprache zurückfallen, wenn es die angeforderte sprache nicht kennt

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dr.e.
Moderator


Anmeldedatum: 04.11.2007
Beiträge: 87

BeitragVerfasst am: So 18 Mai, 2008 16:54    Titel: Antworten mit Zitat

Hallo xena,

das von dir beschriebene Anwendungsszenario ist kein einfaches. Hier muss man sich vor der Implementierung Gedanken machen, denn sonst verbaut man sich die Möglichkeit der Mehrsprachigkeit. Grundsätzlich ist es ratsam, in der Konzeptionsphase alles als mehrsprachig zu definieren. Wichtig dabei ist es, dass das eingesetzte Framework bzw. die eingesetzten Scripten Eigenschaften wie Sprache entsprechend bereithalten, da es sonst schwierig ist, die nötigen Informationen für Mehrsprachigkeit an eingebundene Module weiterzugeben.

Der Lösungsansatz ist IMHO an die Anwendung gebunden. In einem CMS, das sicher seine Daten in einer Datenbank ablegen wird, sollte dies im Datenmodell vorgesehen sein, in einer Applikation, die ein eigenes Backend oder einen eigenen Datenpool hat, kann eine Sprachdatei genügen. Wichtig ist dabei - wie bereits gesagt - dass dein CMS-Rahmen eine Schnittstelle für das Einbinden von Modulen bietet, die Mehrsprachigkeit ermöglicht. Wird beispielsweise die Sprache deiner CMS-Seite umgeschalten, muss das dem Modul auch mitgeteilt werden.

Datenhaltungstechnisch ist muss eine weitere Abstraktionsebene eingezogen werden. Wird in einer Tabelle bisher ein Inhalt direkt gespeichert, brauchst du jetzt eine weitere Tabelle, die die Sprachabhängigen Werte speichert. Bei Navigationsknoten verhält sich das ähnlich - auch hier werden die Werte in eigenen Tabellen gespeichert und zum eigentlichen Navigationspunkt verknüpft. Um hier generisch zu bleiben, sollte ein sprachabhängiger Text zu einer Sprache assoziiert sein, so kann man eine saubere n:m-Beziehung aufbauen.

Als Anregung hier mal ein UML, das ich zu einem anderen Thread erstellt habe:

Zum Thema sprachabhängige Konfiguration von Modulen kannst du dir ja mal den Artikel unter adventure-php-framework.org, Kapitel 5, ansehen.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Gast






BeitragVerfasst am: Mo 19 Mai, 2008 10:46    Titel: Antworten mit Zitat

erstmal vielen dank für deine mühe und antwort.

das es nicht ganz einfach werden wird weis ich, deshalb ja die frage nach ideen.

dein framework ist sehr interessant nur habe ich momentan ein wenig schwierigkeiten da ein einstieg zu finden.
habe mich mal mit cakephp beschäftigt wegen der einfacheit des einstiegs.

mir schwebt ein cms vor (nicht groß aber erweiterbar) wo der benutzer module hinzufügen kann und das er neue sprachen integrieren kann also müsste alles was an ausgabe ist eine variable besitzen die man in eine neue sprache übersetzten kann( entweder datei oder db).
nur wie setzt man das db technisch um.

werde mir dein framework mal genauer reinziehn Smile und dein UML

xena

Nach oben
dr.e.
Moderator


Anmeldedatum: 04.11.2007
Beiträge: 87

BeitragVerfasst am: Mo 19 Mai, 2008 15:40    Titel: Antworten mit Zitat

Hallo xena,

Zitat:
dein framework ist sehr interessant nur habe ich momentan ein wenig schwierigkeiten da ein einstieg zu finden.
habe mich mal mit cakephp beschäftigt wegen der einfacheit des einstiegs.


Grundsätzlich ist die Plattform, auf der man arbeitet unerheblich, denn das Design an sich muss man selbst entwerfen. Welche Tools man verwendet bedeutet nur, wieviel Arbeit man noch selbst machen muss und wie viel einem abgenommen wird. Was CakePHP angeht, so scheint der Einstieg leichter zu sein, die Komplexität, die man mit Cake abbilden kann ist jedoch sehr begrenzt!
Einsteiger-Materialien zum APF findest du adventure-php-framework.org. Dort ist ein einfaches Beispiel beschrieben. Auch das Demopack auf der Downloadsseite (adventure-php-framework.org) bietet dir eine Spielwiese, die du per enthaltener Anleitung einfach erweitern und zu deinen Anforderungen ausbauen kannst. Ich denke damit wird der Einstieg einfacher. Solltest du Fragen dazu haben, kannst du gerne hier, oder im APF-Forum posten, ich helfe gerne mit Beispielen...

Zurück zum Thema:

Zitat:
mir schwebt ein cms vor (nicht groß aber erweiterbar) wo der benutzer module hinzufügen kann und das er neue sprachen integrieren kann also müsste alles was an ausgabe ist eine variable besitzen die man in eine neue sprache übersetzten kann( entweder datei oder db).
nur wie setzt man das db technisch um.


OK. Rein technisch betrachtet ist das kein großer Aufwand. Du musst "einfach nur" ein Backend anbieten, in dem der Benutzer neue Sprachen und Übersetzungen für Module anlegen kann. Schwieriger wird die Definition der Schnittstelle für die Module. Um das Backend generisch zu halten, würde ich persönlich die Möglichkeit schaffen, eine Konfiguration pro Modul hinterlegen zu können, das die jeweiligen Sprachdateien oder Datenbankeinträge bearbeitbar macht. Die Config könnte so aussehen:

Code:
  1. [<ModuleName>]
  2. ModuleType = "db|ini"
  3. [ConfigFiles = "<LanguageFiles>"]
  4. [DBTable = "<TableName>"]

Der ModuleType definiert quais, ob die sprachabhängigen Werte in der DB oder einer Datei (hier habe ich mal ini-Files angenommen) abgelegt sind. Falls in einer Datei, sollten die Dateien aufgeführt sein. dazu muss natürlich eine Schnittstelle zum parsen und schreiben der INI-Files implementiert werden, was aber nicht so schwer ist. Im Fall "db" muss noch die Options-Tabelle angegeben werden, die die Keys und Werte enthält. So könnte man per generischem Backend und einer geeigneten Konfiguration das Sprach-Thema erschlagen.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> PHP allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB2.de