1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
394
394
EMPFEHLEN
-
Servus. Folgendes Script:
Soll mit dieser .pot (als .mo):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!");
?>
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# 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.Geändert von ZodiacXP (18.04.09 um 13:29 Uhr)
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
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
18.04.09 15:32 #2
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.516
Ich bin mir grad nicht sicher, aber die Locale Germany_German gibt es meines Wissens nach nicht. Versuch doch mal de_DE.
GrüßeGrüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
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
Geändert von ZodiacXP (18.04.09 um 15:42 Uhr)
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
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
20.04.09 12:53 #4
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
-
Germany_Germany ist doch Käse...

Lass dir doch einfach mal alle verfügbaren locales ausgeben.
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.PHP-Code:echo '<pre>';
system( "locale -a" );
echo '</pre>';

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
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.516
@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
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
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
-
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
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Diese Seite kennst du sicher schon, oder?
http://gnuwin32.sourceforge.net/install.htmlmfg
DeluXe
-
21.04.09 19:45 #10
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.516
@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üßeGrüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
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 :PGebe 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
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
21.04.09 20:22 #12
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.516
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
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Um dieses alte Thema nochmal aufzugreifen:
Zur Zeit quälen mich diese Zeilen:
DocumentRoot L:\PHP-Code:setlocale(LC_ALL, 'German_Germany'); // Zeile 1
putenv('LC_ALL=German_Germany'); // 2
bindtextdomain('Projekt', './locale'); // 3
textdomain('Projekt'); // 4
echo _('HI');
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 2 3 4
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.Geändert von ZodiacXP (28.09.09 um 19:31 Uhr)
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
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
Ähnliche Themen
-
GETTEXT - deutsch geht englisch nicht
Von südpol im Forum PHPAntworten: 1Letzter Beitrag: 25.03.08, 16:28 -
LogIn Dialog mit getText klappt nicht
Von programer85 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 07.03.08, 23:19 -
Richtig übersetzt?
Von Impi2k im Forum .NET Windows FormsAntworten: 8Letzter Beitrag: 17.10.06, 20:42 -
ich brauche Modifikatoren in 3Ds MAX übersetzt
Von chrismid im Forum 3D Studio MaxAntworten: 5Letzter Beitrag: 06.02.04, 22:05 -
englische modifier --> deutsch übersetzt
Von Shiivva im Forum 3D Studio MaxAntworten: 2Letzter Beitrag: 20.02.02, 17:59





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren