AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Mehrsprachige Seiten erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Mehrsprachige Seiten erstellen

Ein Thema von TheMiller · begonnen am 20. Feb 2009 · letzter Beitrag vom 21. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

[PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 21:34
Hallo,

ich habe ein kleines Problem. Ich möchte meine Webseite mehrsprachig aufbauen. Es werden einige Text-Strings benötigt. Deswegen wollte ich keine Datenbank, sondern eine Include-Datei benutzen (aus performancegründen).

Doch nun bekomme ich ein Problem mit dem Aufbau. Ich habe die ganz normale Datei, die im Browser geöffnet ist, diese öffnet selbst noch eine Funktionen-PHP-Datei und zurvor die Sprachdatei. Das sieht so aus:

Code:
<?php
include("languages/de.php");
include("funktionen.php");
?>

<html>
 <body>
  <?php echo $lang[0]; ?>
  <?php eineFunktion(); ?>
 </body>
</html>
Das ist die Sprachdatei

Code:
# $lang[0] - $lang[100] = Startseite
# $lang[100] - $lang[200] = Übersicht
# $lang[1000] - $lang[1100] = Funktion-Ausgaben
# $lang[1200] - $lang[1300] = Fehlermeldungen

$lang[0] = 'Willkommen auf der Webseite';
 u.s.w
Nun bekomme ich wunderbar die Strings angezeigt. Nur wenn ich in der "Funktionen.php" einen Sprachstring benötige (da ist ja immer ein bissl Layout dabei), bekomme ich ihn nicht angezeigt. Ein var_dump sagt nur NULL. Was mache ich denn nun?

Noch eine Frage: Ist es schlimm, dass mein Array so groß wird, weil ich so große Bereiche definiere? Ich habe einen Root-Server. Oder ist das egal, so lange da nichts drinsteht?

Danke und Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 21:39
Hi,

Größenprobleme gibt's keine. Das phpBB macht es beispielsweise genau mit diesen Sprachdateien (ich ebenfalls). Ich muss allerdings in den Dateien, die aufs Array zugreifen ein

Code:
global $lang;
einfügen. Frag mich nicht wieso, aber damit geht's bei mir dann.

An deiner Stelle würde ich aber vernünftige Array-Indizes wählen, um den Code lesbar zu halten. Beispielsweise so:

Code:
$lang['err_invalid_email'] = 'Ungültige E-Mail-Adresse';
Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 21:43
Mit den Array-Namen hast du recht.

Sollte man das global nicht besser unterlassen, oder das das nicht mit register_globals zu tun?

Wo muss ich das Global hinsetzen? Kannte es bis eben nicht
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 21:45
Das kannst du beispielsweise nach dem Einbinden der Funktion platzieren. Und nein, "register_globals" macht etwas ganz anderes. Das legt eine Variable an, wenn du Parameter übergibst. Beispielsweise bei einer URL wie "...&id=5" wird die Variable "id" angelegt und der Wert 5 zugewiesen, wenn ich mich nicht irre.

Edit: PHP: global

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#5

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 21:52
Hm...

ich habe in der Sprachdatei am Ende

global $fkt;

geschrieben. Das hat in der anderen include-Datei nicht funktioniert. Dann habe ich in der Haupt-PHP-Datei nach dem Inkludieren der Sprachdatei gloabl $fkt; aufgerufen. Das hat auch nicht funktioniert. Mache ich da was falsch?

RoterKasten: So habe ich es gemacht - geht trotzdem nicht. Scheint doch nur mit register_globals zu funktionieren.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 21:55
Zitat von DJ-SPM:
Scheint doch nur mit register_globals zu funktionieren.
Nope, das habe ich bei meiner privaten Seite deaktiviert und es geht dennoch.

Also dann muss ich passen. Bei mir geht es so. Aber es wäre interessant zu wissen, wieso es nur mit "global" geht. Hätte nämlich erwartet, dass es auch ohne geht.

Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 21:58
Also,

in meiner funktion.php kann ich außerhalb von Funktionen auf $fkt[0] zugreifen. Nur innerhalb halt nicht - das bringt mir ja irgendwie in einer funktionen.php nix

Auch wenn ich an den Anfang der funktionenphp global $fkt; schreibe, ändert dies nix.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#8

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 22:00
muß man das Global nicht immer machen, wenn man auf "normale" Funktions-externe-Variablen zugreifen will?

ohne global wird funktions-intern nach $lang gesucht und das ist ja leer (existiert nicht).


und global muß am Anfang in die/alle Funktion(en) rein, wo du auf die Variable zugreifen willst.

Zitat:
Auch wenn ich an den Anfang der funktionenphp global $fkt; schreibe, ändert dies nix.
wie gedagt, nicht das GLOBAL "global" in die Datei schreiben, sondern "lokal" in die Funktion(nen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#9

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 22:02
Tatsache... das Funktioniert. Ich danke euch beiden für die schnelle und gute Hilfe!

Ich bin begeistert!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#10

Re: [PHP] Mehrsprachige Seiten erstellen

  Alt 20. Feb 2009, 22:11
PS:
selfphp > Gültigkeitsbereiche und Sichtbarkeit von Variablen

php::bar > global
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz