|
|
| |
| |
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)
|
|
|
 |
|
|
|
|
|
|
18.04.09, 11:44
|
#1 (permalink)
|
Registriert seit: Mar 2004
Beiträge: 1.742
|
gettext übersetzt nicht
Servus. Folgendes Script:
|
PHP-Code:
|
|
<?php
error_reporting(E_ALL);
ob_start("ob_gzhandler");
setlocale(LC_ALL, "German_Germany");
bindtextdomain("test", "locale");
textdomain("default");
echo gettext("Hello World!");
echo _("Hello to World!");
?>
|
Soll mit dieser .pot (als .mo):
|
Code:
|
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-04-18 11:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: explain.php:10
msgid "Hello World!"
msgstr "Hallo Welt"
#: explain.php:12
msgid "Hello to World!"
msgstr "Moinsen"
|
Übersetzt werden. Jedoch erhalte ich keine Übersetzung.
Die default.mo liegt in ./locale/German_Germany/LC_ALL
Fehlt mir zufällig noch was?
Arbeitet jemand mit Eclipse und kann mir sagen wie man bequem von da aus .mo Dateien generieren kann?
Über shell ist immer umständlich.
__________________
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
Mein System: Hamster 120 Herz p.M., Windows 3.1, 128 Megabären aufm Einrad
Geändert von ZodiacXP (18.04.09 um 13:29 Uhr).
|
18.04.09, 15:32
|
#2 (permalink)
|
|
Mitglied Wurstwasser
Registriert seit: May 2006
Ort: Ebelsbach (Bayern)
Beiträge: 1.134
|
AW: gettext übersetzt nicht
Ich bin mir grad nicht sicher, aber die Locale Germany_German gibt es meines Wissens nach nicht. Versuch doch mal de_DE.
Grüße
__________________
Grüße
--
"Möge der Saft mit euch sein" - Yoghurt aus Spaceballs
|
18.04.09, 15:39
|
#3 (permalink)
|
Registriert seit: Mar 2004
Beiträge: 1.742
|
AW: gettext übersetzt nicht
Die gibt es.
Hatte vorher de_DE, was mein PHP nicht angenommen hat (setlocale lieferte FALSE).
Durch setlocale(LC_ALL, NULL) konnte ich herausfinden das es "German_Germany" heißen muss.
Liegt es an einem fehlenden "liblintl", dass setlocale überhaupt LC_MESSAGES erreicht? (siehe http://de2.php.net/manual/de/function.setlocale.php)
Wenn ja, wie krieg ich das noch nachträglich in PHP?
Mein Kopf will zur Zeit garnich 
__________________
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
Mein System: Hamster 120 Herz p.M., Windows 3.1, 128 Megabären aufm Einrad
Geändert von ZodiacXP (18.04.09 um 15:42 Uhr).
|
20.04.09, 12:53
|
#4 (permalink)
|
|
Mitglied Diamant
Registriert seit: Mar 2003
Ort: Hilden (NRW)
Beiträge: 1.919
|
AW: gettext übersetzt nicht
Vielleicht hilft es dir, in den Gettext Adapter von Zend_Translate (Link führt zum Quellcode aus SVN) des Zend Frameworks reinzuschauen, wie die Daten holen. Vielleicht gibts da ein paar Tricks bei 
__________________
Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x
|
20.04.09, 14:07
|
#5 (permalink)
|
|
Funkjoker
Registriert seit: Jul 2004
Ort: Offenburg
Beiträge: 806
|
AW: gettext übersetzt nicht
Germany_Germany ist doch Käse...
Lass dir doch einfach mal alle verfügbaren locales ausgeben.
|
PHP-Code:
|
|
echo '<pre>'; system( "locale -a" ); echo '</pre>';
|
Dann einfach die jeweilige deutsche locale, in meinem Fall de_DE.utf8 anstelle des Germany_Germany packen und wenn es dann noch immer nicht geht, können wir weiter schauen.
Den Ordner namens LC_ALL musst du allerdings in LC_MESSAGES umbennen.
Btw.: Der Ordnername muss nicht genau so wie das local heissen, bei mir z. B. heisst er noch immer de, bzw. en.
Nur wenn wirklich zwischen de_AT, de_DE, UTF-8 und co. unterschieden werden soll, macht das Sinn.
__________________
mfg
DeluXe
|
20.04.09, 20:26
|
#6 (permalink)
|
|
Mitglied Wurstwasser
Registriert seit: May 2006
Ort: Ebelsbach (Bayern)
Beiträge: 1.134
|
AW: gettext übersetzt nicht
@DeluXe:
Ich würde das nicht pauschalisieren. Was ist denn bspw. mit Windows? Den Befehl "locale" gibts da bspw. per default erstmal nicht. Da sich MS zunächst nicht um Standards (sind Locales Standard oder nur RFC?) kümmert, könnte es schon sein, das es dort eine Locale "German_Germany" gibt. Allerdings müsste man dann mal in der Microsoft Knowlegdebase nachsehen. Denn das kann tricky werden.
Vielleicht verät uns Zodiac erstmal, welches System er verwendet.
__________________
Grüße
--
"Möge der Saft mit euch sein" - Yoghurt aus Spaceballs
|
20.04.09, 20:53
|
#7 (permalink)
|
|
Funkjoker
Registriert seit: Jul 2004
Ort: Offenburg
Beiträge: 806
|
AW: gettext übersetzt nicht
Stimmt, da ich selbst Linux nutze habe ich dabei nicht an Windows-Nutzer gedacht, vorallem nicht in Bezug auf locales. 
Aber irgend so etwas muss es da natürlich schon geben, und laut ein paar Google-Ergebnissen ist "German_Germany" da doch häufiger vertreten.
Hach, Windows, ich liebe es. 
__________________
mfg
DeluXe
|
20.04.09, 21:18
|
#8 (permalink)
|
Registriert seit: Mar 2004
Beiträge: 1.742
|
AW: gettext übersetzt nicht
Läuft auf Win Vista.
Die .mo / .po war schon in LC_ALL, LC_MESSAGES etc. Und läuft nicht.
Bald geb ich es auf und schreib was eigenes in PHP, wär aber schade um die Performance.
__________________
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
Mein System: Hamster 120 Herz p.M., Windows 3.1, 128 Megabären aufm Einrad
|
20.04.09, 23:04
|
#9 (permalink)
|
|
Funkjoker
Registriert seit: Jul 2004
Ort: Offenburg
Beiträge: 806
|
AW: gettext übersetzt nicht
__________________
mfg
DeluXe
|
21.04.09, 19:45
|
#10 (permalink)
|
|
Mitglied Wurstwasser
Registriert seit: May 2006
Ort: Ebelsbach (Bayern)
Beiträge: 1.134
|
AW: gettext übersetzt nicht
@Zodiac: Warum das Rad neu erfinden? Zend Framework hat doch alles was du brauchst. Da kannst du dir das Backend sogar aussuchen. Ob es nun gettext, xml, csv oder ne ini sein soll, kannst du selbst entscheiden.
Du kannst Zend_Translate sogar ohne den MVC-Teil verwenden wenn du magst.
Hier nachlesen: http://framework.zend.com/manual/de/zend.translate.html
Grüße
__________________
Grüße
--
"Möge der Saft mit euch sein" - Yoghurt aus Spaceballs
|
21.04.09, 19:59
|
#11 (permalink)
|
Registriert seit: Mar 2004
Beiträge: 1.742
|
AW: gettext übersetzt nicht
Du bist mehr der BWLer oder? 
Klar ist es unschön eine neue Klasse selbst zu schreiben aber das dauert ja nicht lang und hab Spaß dran.
Hatte gehofft gettext() läuft in PHP genau so easy wie die anderen Erweiterung aber war wohl nicht :P
__________________
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
Mein System: Hamster 120 Herz p.M., Windows 3.1, 128 Megabären aufm Einrad
|
21.04.09, 20:22
|
#12 (permalink)
|
|
Mitglied Wurstwasser
Registriert seit: May 2006
Ort: Ebelsbach (Bayern)
Beiträge: 1.134
|
AW: gettext übersetzt nicht
Zitat:
Zitat von ZodiacXP
Du bist mehr der BWLer oder? 
Klar ist es unschön eine neue Klasse selbst zu schreiben aber das dauert ja nicht lang und hab Spaß dran.
Hatte gehofft gettext() läuft in PHP genau so easy wie die anderen Erweiterung aber war wohl nicht :P
|
Bleib mir weg mit den Krawatten. Ich entwickle seit mehreren Jahren in verschiedenen Sprachen. Wenn ich eines seit dem gelernt habe, dann das, das man sich Arbeit spart, wenn es möglich ist. Du kennst die 80-20-Regel? Ich mach, wenn es geht, ein 90-10 draus, weil das nicht nur Arbeit sondern auch Geld spart, was ich an anderer Stelle wesentlich besser anlegen kann.
Ja, ich gebe es zu. Ich arbeite mehr in C++ und Java.
__________________
Grüße
--
"Möge der Saft mit euch sein" - Yoghurt aus Spaceballs
|
28.09.09, 17:46
|
#13 (permalink)
|
Registriert seit: Mar 2004
Beiträge: 1.742
|
AW: gettext übersetzt nicht
Um dieses alte Thema nochmal aufzugreifen:
Zur Zeit quälen mich diese Zeilen:
|
PHP-Code:
|
|
setlocale(LC_ALL, 'German_Germany'); // Zeile 1 putenv('LC_ALL=German_Germany'); // 2 bindtextdomain('Projekt', './locale'); // 3 textdomain('Projekt'); // 4
echo _('HI');
|
DocumentRoot L:\
Im Verzeichnis "L:\Projekt\locale\LC_ALL\German_Germany" steht die "German_Germany.mo" Datei mit den Übersetzungen. Allerdings wird "HI" nicht übersetzt, obwohl alles dafür angegeben ist.
Hier noch var_dump je Zeile:
|
Code:
|
1: string(19) "German_Germany.1252"
2: bool(true)
3: string(34) "L:\Projekt\locale"
4: string(9) "Projekt"
|
Das ganze wird lokal betrieben mit Apache 2.2.13 und PHP 5.3.0 (gettext Modul vorhanden und eingebunden). Der HTTPD wurde nach jeder Änderung der .mo neu gestartet, damit kein Cache dazwischen kommt. LC_MESSAGES kann ich scheinbar nicht nutzen, woraus ich schließe das PHP nicht mit libintl kompiliert wurde.
__________________
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
Mein System: Hamster 120 Herz p.M., Windows 3.1, 128 Megabären aufm Einrad
Geändert von ZodiacXP (28.09.09 um 19:31 Uhr).
|
|
| Themen-Optionen |
|
|
| Ansicht |
Linear-Darstellung
|
|
 |
|
»
Neue Tutorials
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
»
Letzte News
|
 |
|
|
|
|
|
|
|
|
|
|
»
Tools
|
 |
|
|
|
|
|
»
Neue Links
|
 |
|
|
|
|
(Cinema 4D-Objekte)
|
|
(Cinema 4D-Tutorials)
|
|
(Cinema 4D-Tutorials)
|
|
(Cinema 4D-Tutorials)
|
|
(Cinema 4D-Tutorials)
|
|
»
Jobs @ tutorials.de
|
 |
|
|
|
|
|
|
|
|
|
|