So dann gebe ich mal meinen Senf dazu....
Wir programmieren momentan auch eine Software auf PHP Basis mit später vielen Sprachen, daher hier mein Statement;-)
@Big-Gremlin
Weder 2 oder 3 würde ich Dir empfehlen denn alles wird sehr schnell unübersichtlich. Die Sprachen sollten absolut losgelöst vom Programmcode sein. Weiterhin ist ja auch zu beachten, die richtige Zeichenkodierung zu nutzen - hier bietet sich dann ja UTF-8 an.
Heisst also, hinzu kommt noch die Einhaltung der Kette mit UTF-8. Also von der Verbindungskennung (Datenbank) bis hin zur Ausgabe am Browser....
Wir nehmen (und kann ich nur absolut empfehlen) für unsere Übersetzungen "Gettext". Vorteil ist hier, dass es völlig losgelöst vom Programmcode ist, Text-Änderungen automatisch erkannt werden und einfach zu implementieren ist - natürlich gibt es noch viele weitere Vorteile. Die Übersetzungsdateien liegen dann im Maschinencode vor...
POEdit
Zur Vorgehensweise:
Du schreibst ganz normal Deine Text im Quellcode (jaja, Trennung vom Programmcode. Allerdings siehst Du sehr schnell welcher Vorteil das mit Gettext hat) - wichtig ist hierbei... schreibe alles in Englisch denn das wird Deine Grunsübersetzung sein (es ist einfacher ein englischprachigen chinesischen Übersetzer zu finden als ein deutschsprachigen Übersetzer;-))
Dann musst Du nur noch POEdit starten, ein paar Parameter setzen und das Verzeichnis zu Deinen PHP-Dateien. POEdit scannt dann dein Programmcode und erstellt die erste Übersetzungsdatei, die dann von jeden Übersetzer einfach übersetzt werden kann...
Gettext muss in PHP einkompiliert sein damit es funktioniert. Wenn Du aber für Dein Projekt das
Zend Framework nutzt (was ich auch nur absolut empfehlen kann) dann muss Gettext nicht einkompiliert sein denn das Zend Framework hat seine eigene Implemtierung von Gettext...
So, hoffe Dir geholfen zu haben.
Damir