Anpassung der Mehrsprachigkeit des News-Modules

Begonnen von Gaku, 14 Februar 2006, 00:03:28

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Gaku

hallo ihrs  :P

ich betreibe mein pragma auch mehrsprachig und uebersetze die artikel zum teil dann halt mit in andere sprachen. hab nur drei sprachen in nutzung, da ich die normale "deutsch" ausgeblendet habe und nur deutsch_du, englisch und franzoesisch nutze ... hier nun meine frage:

gibt es eine moeglichkeit innerhalb des mehrsprachigen news-/artikel-systems das so zu machen, das wenn ich einen artikel auf deutsch (fuer deutsch) schreibe. und einen uebersetzten auf englisch schreibe (und auf englisch setzte), die artikelauswahl fuer ... franzoesisch so anzupassen, dass er fuer franzoesisch NUR sie system-sprache umstellt, aber weiterhin die englischen artikel anzeigt??? also wie eine kleine "navigations-hilfe" fuer (u.a.) franzoesisch-sprachige mit eingeschraenkten aber vorhandenen englischkenntinssen OHNE deutschkenntnisse?

wenn wer rat weiss, wo ich das mit ein paar kleinen handgriffen "invertieren" kann. also deutsch-sprachige artikel fuer sprach-setting deutsch. und dann halt englische artikel ... fuer ALLE andern sprachen des systems (das waere ideal).

am besten wohl in der anzeige des news-modul selbst ... sprache auf "Deutsch_du", "Englisch", "Franzoesisch" ... "Nicht Deutsch (fuer ALLE anderen Sprachen!!)" als auswahl zu haben




Zusammenfassung:
also gemeint ist das fuer die User die vorbeikommen. Zum Beispiel so, User kommt auf die Seite und setzt per Flagge seine Systemsprache auf FRZ --> dann soll in der News-Artikel Angezeige statt so etwas wie if $lang=+'ENG' {...}
if $lang=='FRZ' {...}
if $lang=='GER' {...}
if $lang=='GER_2' {...}
etwas derartiges gewaehlt wird if ($lang=='GER' || $lang=='GER_2') {$lang:='GER' {...}}
if $lang!='GER' {$lang:='ENG' {...}}


in welcher datei steckt denn die auswahl, so dass ich dann da was abaendern koennte???




vielen dank fuer eure hilfe.
gaku.

Gaku

Nachtrag: oder regelt man so etwas lieber mit einer Aenderung in der entsprechenden php-Datei & ueber das Language-Feld in der Datenbank? Wobei ja "(leer)" fuer alle Sprachen steht und sonst jeweils nur die Sprache eingetragen wird, bei der der Artikel angezeigt werden darf.



Das waere dann ja sowas wie eine "imaginaere Sprache" als Eintrag in der Datenbank im Language-Feld, mit nahezu der gleichen Bedeutung wie halt "(leer)", nur dass dann bei ... System-/User-Sprache _deutsch_, ein jeder so markierte Artikel eben nicht angezeigt werden duerfte, sonst aber IMMER!  ::) Die Filterung andersherum, also der deutschen Artikel fuer weitere Sprachen ist ja schliesslich eh schon eingebaut.



Danke,
Gaku.

JoergK

Hoi  ;)

Schau man in die Dateien modules/News/categories.php (ca. Zeile 44 - 48)
if ($GLOBALS["multilingual"] == 1) {
    if (ereg("german", $GLOBALS["currentlang"])) $thislang = "german";
    else $thislang = $GLOBALS["currentlang"];
    $where[] = "(s.alanguage LIKE '" . $thislang . "%' OR s.alanguage='')";
}


und modules/News/index.php (ca. Zeile 36 - 40), da steht der gleiche Code nochmal.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Gaku

Haha  :D

c00l, das ging ja sogar noch viel einfacher als ich gedacht hatte! hab's jetzt in folgendes umgeaendert in beiden dateien:



if ($GLOBALS["multilingual"] == 1) {
    if (ereg("german", $GLOBALS["currentlang"])) $thislang = "german";
    else $thislang = "english";
    $where[] = "(s.alanguage LIKE '" . $thislang . "%' OR s.alanguage='')";
}


und siehe da, es laueft wie gewuenscht.  ;D mit bestem dank an JoergK.



gruesse,
gaku.

JoergK

Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody