php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.11.2010, 10:06  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard best practice bei Sprachvar. in JS

Hallo zusammen,

ich würde gerne Meinungen zu Sprachvariablen in Javascript bekommen. Ich habe viele Module die fast ausschließlich mit Javascript funktionieren und da werden ja auch Texte benötigt, vor allem Beschriftugen aller Art (für Buttons, Spaltenüberschriften, QuickTips, etc.).

Nun frage ich mich wie ich diese Texte möglichst auch multiligual gestalten kann.

Ich habe mir dazu schon einige Gedanken gemacht:

Ansatz 1: Ich schreibe in die JS-Files direkt Sprachvariablen als ##VAR## und lasse die Datei bei jeder Anfrage durch den gleichen Übersetzer laufen der auch mein HTML übersetzt. Vorteil: Es werden nur Texte aus der DB geholt die auch benötigt werden. Nachteil: Browsercaching wird nahezu unmöglich

Ansatz 2: Eine PHP-Datei via <script> einbinden und vorgaukeln es wäre Javascript. Diese schreibt dann sämtliche Sprachvariablen und dessen Übersetzungen in JS-Arrays. Vorteil: Alle Files bis auf die Variablen selbst können ganz normal vom Browser gecached werden. Nachteil: Es müssen immer ALLE Sprachvariablen zur Verfügung gestellt werden

Ansatz 3: Es gibt eine Master-Pseudo-JS-Datei die Sprachvariablen wie in Ansatz 1 enthält. Ein Script auf dem Server generiert und speichert dann die übersetzten Varianten. Vom Browser werden dann direkt die übersetzten Dateien angefordert. Vorteil: Übersetzungen müssen nur einmalig beim generieren geholt werden, danach nicht mehr. Nachteil: Beim ändern des Inhalts einer Sprachvariable muss jedes mal der Generator angeworfen werden

Was meint ihr dazu?

Gruß
Cy
cycap ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.11.2010, 10:41  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Also ich würde zu 2) tendieren und wenn die eine Sprachdatei viel zu groß ist, kann man es ja eventuell modular aufteilen und es gibt ein basis-modul das immer geladen wird und dann laden Seiten/Module ihre Übersetzungen extra bei bedarf (darf halt nicht zu viel werden dass am ende 30 sprachdateien auf einer Seite geladen werden).
robo47 ist offline   Mit Zitat antworten
Alt 22.11.2010, 11:34  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Da stellt sich natürlich die Frage wie sich "viel zu groß" definiert... aber die Gruppierung an sich ist wohl kein schlechter Ansatz.
cycap ist offline   Mit Zitat antworten
Alt 22.11.2010, 12:11  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

4. Ansatz: Sprachdateien wie in Ansatz 2, aber eben gruppiert und dann eingebunden etwa so (JS):
PHP-Code:
importLanguageFile('sprache''gruppierung'
Sprache ist dann de oder de_DE oder was auch immer (Könnte auch global festgelegt werden), gruppierung ist so was wie Benutzerdaten, Forum und enthält jeweils dafür spezifische Strings. Die Sprachdateien könnten mittels dynamisch geladener Script-Tagsw nachgeladen werden.
xm22 ist offline   Mit Zitat antworten
Alt 22.11.2010, 13:27  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
Ansatz 1: Ich schreibe in die JS-Files direkt Sprachvariablen als ##VAR## und lasse die Datei bei jeder Anfrage durch den gleichen Übersetzer laufen der auch mein HTML übersetzt. Vorteil: Es werden nur Texte aus der DB geholt die auch benötigt werden. Nachteil: Browsercaching wird nahezu unmöglich
Wieso sollte damit Browsercaching unmöglich werden? Die Datei ändert sich doch damit nicht bei jedem Aufruf.
erc ist offline   Mit Zitat antworten
Alt 22.11.2010, 13:39  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Es gibt ja in dem Sinne keine Datei, sondern nur Content. Sicher gibts da Möglichkeiten über Header usw. allerdings müsste man dann auch wissen wann Änderungen stattgefunden haben um dem Browser mitteilen zu können das die imaginäre "Datei" sich geändert hat. Ich hab ja nie behauptet es sei unmöglich
cycap ist offline   Mit Zitat antworten
Alt 22.11.2010, 14:22  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Da gibt es den Ansatz (der sich für mich bewehrt hat), an die Dateien einen Parameter (z. B. ?v=xxx) zu hängen, der bei einer Änderung einfach inkrementiert wird..
xm22 ist offline   Mit Zitat antworten
Alt 22.11.2010, 14:28  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Wenn ich dann aber eine Sprachvariable ändere, dann muss ich ja alle JS-Files neu holen lassen, da ich ja nicht weiss in welcher Datei welche Variable gebraucht wird, also optimal ist die Lösung auch nicht.
cycap ist offline   Mit Zitat antworten
Alt 22.11.2010, 14:52  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Im idealfall ist das dann bestandteil deines build/deploy-prozesses
robo47 ist offline   Mit Zitat antworten
Alt 24.11.2010, 18:02  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Ich habe viele Module die fast ausschließlich mit Javascript funktionieren und da werden ja auch Texte benötigt
Schön und gut, aber wieso kann das nicht PHP-seitig vorbelegt werden? Im Zweifel machst Du ein Var-Setting im Dokumentenkopf?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Quelltext einer bestehenden Anwendung kürzen - Best Practice? jesuspresley PHP Einsteiger 3 22.02.2011 12:18
[Erledigt] Best Practice DB Verbindung makebzimage Software-Design 31 04.11.2010 14:04
best practice bei einbindung von JS / CSS files cycap Software-Design 27 26.10.2010 18:42
best practice - OOP Kern und Komponenten in Applikation wiederverwenden Murdoc PHP-Fortgeschrittene 22 23.08.2010 10:10
Tutorial / Best Practice für kl. Windows Server Cluster Plague Server, Hosting und Workstations 1 01.04.2010 22:49
Best Practise: Arrays unabhängig vom index zusammenfügen lh_as PHP-Fortgeschrittene 1 16.03.2010 15:47
Best Practices Benutzerverwaltung #Avedo PHP-Fortgeschrittene 10 15.09.2008 09:34
.htaccess: alle umleiten auf info.html bis auf best. IPs Gumfuzi Server, Hosting und Workstations 8 17.02.2008 19:07
best bewerteten Bilder auswählen Maho88 Datenbanken 19 01.08.2006 18:51
[Erledigt] Button an best Tagen zu best. Uhrzeiten wechseln lassen PHP Tipps 2005-2 3 30.07.2005 12:52
[Erledigt] String nach best. Zeichen durchsuchen PHP-Fortgeschrittene 10 19.07.2005 19:21
Auslesen eines Textes mit best. Länge aus DB-Tabelle PHP Tipps 2005 2 01.07.2005 00:00
Eine best. Zeile aus einer Datei löschen PHP Tipps 2005 9 23.04.2005 23:25
Fehlerhafte anzeige mit best. Browsern Flor1an HTML, Usability und Barrierefreiheit 6 10.11.2004 19:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sprachvariablen js

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum