php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.04.2008, 14:30  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard gettext, einige fragen

Hallo,

Ich habe einige fragen zu gettext undzwar:

ich habe gelesen man erstellt eine .po file, wandelt diese dann in eine .mo file um, die von gettext über eine konstante/hash auslesbar ist.


meine fragen:

1. Stimmt mein statement so halbwegs ?
2. wie erstelle ich solche files ?
3. gibt es eine möglichkeit diese on the fly zu bearbeiten ?
4. welche vorteile und nachteile gegenüber einer datenbank kann man sich hier versprechen ?
5. stimmt es, dass man sprachfiles für linux & windows benötigt ?
notyyy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.04.2008, 14:52  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
1. Stimmt mein statement so halbwegs ?
Ja. Du addressierst die Übersetzungen jeweils über Keys.

Zitat:
2. wie erstelle ich solche files ?
Gibt es genug Tutorials. Siehe z.B. http://doku.wordpress-deutschland.or...tei_mit_poEdit

Zitat:
3. gibt es eine möglichkeit diese on the fly zu bearbeiten ?
Nein, diese müssen immer als Kompilat vorliegen.

Zitat:
4. welche vorteile und nachteile gegenüber einer datenbank kann man sich hier versprechen ?
Vorteil: mehr Performance, Files kann man dem Übersetzer geben.
Nachteil: Deployment muss immer komplett erfolgen.

Zitat:
5. stimmt es, dass man sprachfiles für linux & windows benötigt ?
IMHO sollte das unabhängig des Systems funktionieren. Es sei denn, die Implementierung nutzt Systemspezifika. Die gettext()-Funktion gibt es aber in PHP für beide Versionen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 28.04.2008, 19:26  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

gibt es (sinnvolle) alternativen ? - was nutzt ihr ?
notyyy ist offline  
Alt 28.04.2008, 21:16  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo notyyy,

ich persönlich nutze die Möglichkeit im Adventure PHP Framework, dass jedes Objekt seine Sprache kennt. Das bedeutet, dass du sprachabhängige Werte einfach aus Konfigurationsdateien ziehen kannst. Zur Erleichterung der Arbeit stehen mehrere Tags zur Verfügung, mit denen Werte automatisch ausgelesen werden. Die Dateien sehen dann so aus:

Code:
 
[de]
my.key1 = "value1"
my.key2 = "value2"

[en]
my.key1 = "value1"
my.key2 = "value2"
Da ich die Konfigurationsdateien nur einmal in den Speicher lade und der ConfigurationManager ein singleton ist, ist die Performance gut. Noch dazu bietet dir PHP mit der parse_ini_file() eine sehr effiziente Möglichkeit die *.ini-Dateien auszulesen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 29.04.2008, 10:52  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

ich habe krampfhaft versucht ein hallo welt beispiel mit php zu erstellen, es ist mir leider nicht ganz gelungen. poedit gibtmir keine möglichkeit (oder ich habe diese nicht gefunden) elemente anzulegen, sondern nur zu bearbeiten. das manual von gettext ist für mich quasi unbrauchbar und völlig überladen.

wie viel performanter ist gettext im vergleich zu sqllite / mysql?

bei größeren projekten müsste ich sowieso einen mysql -> gettext parser zum verwalten der sprachfiles schreiben, lohnt dies überhaupt ?

die alternative jede sprache php seitig als array abzudecken halte ich für nicht sonderlich gut, da jedesmal jede sprache geparst wird. ich nehme auch im supermarkt nicht jedes produkt in die hand, wenn ich nur eins kaufen will.
mit parse_ini_file zu arbeiten halte ich für sehr interessant, die sprachdateien würde ich dann getrennt halten, hier sehe ich jedoch keinen vorteil gegenüber einem normalen array.
notyyy ist offline  
Alt 29.04.2008, 12:34  
Erfahrener Benutzer
 
Benutzerbild von GelaMu
 
Registriert seit: 05.03.2006
Beiträge: 183
GelaMu
Standard

notyyy,

gettext ist doch sehr vom Server abhängig, nicht?
Erst gestern habe ich was über gettext und seine Performancevorteile gelesen:
Anscheinend ist es von der Performance her schneller als PHP-Dateien zu parsen.
http://mel.melaxis.com/devblog/2006/...t-fast-enough/

Ich persönlich halte es für besser INI-Dateien zu parsen, da diese von der Performance
her fast genau so schnell sind wie unserialize() (für unserialize() muss man ja die Arrays zuerst serialisieren; sprich: aufwändig) und da diese im Falle einer Änderung im Programm einfacher zu handhaben sind.
Naja... ist aber glaub ich eher eine Geschmackssache.

Grüße,
GelaMu.

P.S. das man immer Lebensmittel oder Alltagsgegenstände mit Programmieren vergleichen muss...
GelaMu ist offline  
Alt 29.04.2008, 16:10  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
mit parse_ini_file zu arbeiten halte ich für sehr interessant, die sprachdateien würde ich dann getrennt halten, hier sehe ich jedoch keinen vorteil gegenüber einem normalen array.
Ein Vorteil liegt ganz klar auf der Hand: ini-Files kannst du einem Übersetzer in die Hand drücken, PHP-Files sicher nicht!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 29.04.2008, 16:33  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

ich würde gerne sprachfiles später über eine GUI verwalten können, wobei sich eine ini dafür auch (bedingt) eigenen lassen würde.

ich muss mal ein ein paar benchmarks machen, eigenen würde sich ja recht viel...

parse_ini_file
json
serialize
gettext

sowie diverse datenbanken.

aber nochal zurück zu gettext, ich habe es nicht geschafft eine vollständige mo datei zu erstellen, mein katalog (poedit) ist und bleibt konsiquent leer.
stell ich mich nur massivst dämlich an, oder ist poedit garnicht zum erstellen sondern nur zum verwalten von .po dateien ?
notyyy ist offline  
Alt 29.04.2008, 16:43  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Notfalls ginge ja auch eine von Doc E. vorgeschlagene .ini Struktur, die durch sprach-abhängiges Caching ergänzt wird und bspw. ein serialisiertes php-Array vorhält.
nikosch ist offline  
Alt 29.04.2008, 17:29  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

ich suche nach "der lösung" nicht nach notfalls.
wäre aber auch denkbar, dann würde ich aber mysql + gecachte serialisierte spracharrays bevorzugen.
notyyy ist offline  
 


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
Renommee Funktion wirft Fragen... tomtaz Board-Support 11 02.07.2008 21:18
Mehrsprachigkeit - gettext() agrajag Off-Topic Diskussionen 5 24.02.2008 22:49
Fragen eines Anfängers ;) ap1 PHP Tipps 2006 22 12.06.2006 20:20
Probleme mit GetText() und Umlaute! eighteen PHP-Fortgeschrittene 1 27.04.2006 21:03
Fragen bezüglich einer Suchmaschine Charly Shop Sui PHP Tipps 2005-2 9 09.09.2005 18:15
2. Fragen, 2 Antworten :D ? atom-dragon PHP Tipps 2005-2 3 16.08.2005 10:45
2 javascript fragen Rotti HTML, Usability und Barrierefreiheit 4 03.08.2005 11:40
Mehrere Fragen zu Input und Textarea HTML, Usability und Barrierefreiheit 4 05.07.2005 12:31
Generelle PHP Fragen Madden PHP-Fortgeschrittene 3 11.04.2005 01:24
[Erledigt] Allgemeine Anfänger Fragen PHP Tipps 2004-2 5 20.12.2004 14:57
fragen zu einem Login und Zeit blabla über MySQL PHP Tipps 2004 10 12.09.2004 15:21
Fragen über Fragen :) Igäl PHP Tipps 2004 3 26.08.2004 08:59
einige fragen! bitte um hilfe stefan-miti PHP Tipps 2004 5 18.07.2004 16:46
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12
Bitte rasch hilfe zu diesen 2 fragen PHP Tipps 2004 3 16.06.2004 21:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php gettext alternative, gettext mehrere dateien, php gettext, gettext alternative, gettext php beispiel, gettext performance, vorteile gettext, php alternative zu gettext, php gettext nachteil, gettext php performance, gettext vorteile, alternative zu gettext, gettext nachteile, gettext leer, wie gettext, gettext vorteil, php gettext mehrere dateien, mehrere mo dateien gettext, datenbank gettext, gettext mehrere dateie

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.