Hallo Mark,
da hast du sicher Recht. Aber in meiner Verzweiflung habe ich alles durchgetestet, was geht.
Fakt ist:
1) ich habe im Header <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> (das ist der Quelltext im Browser im Layout entsprechend als PHP)
2) ich habe die Ausgabe von cake erzeugen lassen (gebacken) der Quelltext sieht dann z.B. so aus:
- Code: Alles auswählen
<?php echo $html->link(__
('Edit', true), array('action'=>'edit', $user['User']['id'])); ?>
3) Den Header in der Datei default.po habe ich noch etwas ergänzt entsprechend dem Beispiel von Mathias. Sieht jetzt so aus:
- Code: Alles auswählen
"Project-Id-Version: PROJECT VERSION\n"
"POT-Creation-Date: 2009-03-16 21:15+0100\n"
"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
"Last-Translator: NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
"X-Poedit-SourceCharset: utf-8\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
Die Message in der default.po ist z.B.
- Code: Alles auswählen
#: \views\groups\index.ctp:32
#: \views\groups\view.ctp:64
#: \views\users\admin_index.ctp:50
#: \views\users\index.ctp:64
msgid "Edit"
msgstr "Ändern"
Wenn ich einen deutschen Umlaut hier einsetze, wird garnichts ausgegeben. Wenn ich HTML-Code eingebe, wird der ausgegeben wie geschrieben.
Als Editor verwende ich Notepad++. Das Format im Editor ist auf UTF-8 eingestellt.
Was könnte man noch ausprobieren?
Ciao Thomas