Přihlásit
: [1]
   |   
: Gettext PHP  ( 3851 )
Ragnarecek
Newbie
*

Karma: 0
: 1


« : March 19, 2009, 17:50:44 »

Mám Mandriva 2008
Používám GNU Gettext na lokalizaci PHP souborů (resp. se na to chystám).
Mám PHP soubor gettext.php
$ xgettext --from-code=utf-8 gettext.php
to vygeneruje soubor messages.po
***********************
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: 2003-12-27 21:20+0100\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=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: gettext.php:13
msgid "English text"
msgstr "Šíleně žluťoučký kůň úpěl své ďábelské kódy"
***********************
tam zapisu preklad a charset nastavim na utf-8 tak jak je to výše
$ msgfmt messages.po
vygeneruje se messages.mo coz je binarni soubor s prekladem a ten hodim do
prislusne slozky.
Spustim testovaci skript gettext.php. Dojde k překladu, avšak čeština generovaná
gettextem je v kódování ISO-8852-2 místo požadovaného UTF-8 a já nevím jak
gettext přesvědčit, aby mi dával UTF-8.
Pokud přesně udělám vše jako v http://interval.cz/clanky/gnu-gettext-prvni-kroky/ výsledek je také v ISO-8852-2.

soubor gettext.php i messages.po jsou opravdu v UTF-8. A v prohlížeči se to
opravdu generuje jako ISO. Odhaduju, že to ISO se bere odněkud ze systému, ale
nevím kde. "man msgfmt" mě moudřejším neučinilo, resp. jsem nenašel, že by se
tam někde dalo nastavit kodovani.

Moje locale je:
LANG=cs_CZ.UTF-8
LC_CTYPE=cs_CZ.UTF-8
LC_NUMERIC=cs_CZ.UTF-8
LC_TIME=cs_CZ.UTF-8
LC_COLLATE=cs_CZ.UTF-8
LC_MONETARY=cs_CZ.UTF-8
LC_MESSAGES=cs_CZ.UTF-8
LC_PAPER=cs_CZ.UTF-8
LC_NAME=cs_CZ.UTF-8
LC_ADDRESS=cs_CZ.UTF-8
LC_TELEPHONE=cs_CZ.UTF-8
LC_MEASUREMENT=cs_CZ.UTF-8
LC_IDENTIFICATION=cs_CZ.UTF-8
LC_ALL=

Můžete mi prosím někdo poradit jak na to?
Dajasu
« #1 : April 22, 2009, 05:57:03 »

Já ti nepomůžu "sorry"
Jen mě udivuje jak můžeš být označován jako newbie -snad newbie senior? Protože lokalizaci souborů se newbie těžko zabývá. Když sem si většinu fóra pročítal tak sem si uvědomil že zkušenost uživatelů záleží jen na to kolik mají příspěvků. Jak se někdo může označovat ....member když ještě nesáhl na příkazový radek. Já osobně se za zelenáče považovat dokud nebudu umět lokalizovat manuálovou stránku!
Luděk Sladký
Hero Member
*****

Karma: 4
: 1 358


« #2 : April 22, 2009, 09:26:42 »

Napadá mě první věc: /etc/php.ini. Nemůže tam být nastaven charset ISO?
Hobil
Hero Member
*****

Karma: 58
: 4 006


« #3 : April 22, 2009, 19:57:59 »

A taky se zeptam: v hlavicce html stranky (ktera obsahuje php script) je definovany charset jak? Protoze podle toho se ridi html prohlizece.
H.

Benzínem se nemá hasit ohniště
teď už je to jedno, ale pro příště... (K.P.)
Luděk Sladký
Hero Member
*****

Karma: 4
: 1 358


« #4 : April 22, 2009, 20:34:51 »

Php skript nemusi byt jenom v souvislosti s webem, ale muze se spoustet i samostatne, podobne jako sktipt v Perlu.
Hobil
Hero Member
*****

Karma: 58
: 4 006


« #5 : April 22, 2009, 21:03:57 »

Php skript nemusi byt jenom v souvislosti s webem, ale muze se spoustet i samostatne, podobne jako sktipt v Perlu.

To je samozrejme pravda. Ja jsem vychazel z tohoto:

...soubor gettext.php i messages.po jsou opravdu v UTF-8. A v prohlížeči se to
opravdu generuje jako ISO.
H.

Benzínem se nemá hasit ohniště
teď už je to jedno, ale pro příště... (K.P.)
: [1]
   |   
 
: