Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

gettext encoding problem

[es] :: PHP :: gettext encoding problem

[ Pregleda: 1969 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

Član broj: 933
Poruke: 1008
*.boox.co.yu

Sajt: www.dinke.net


+2 Profil

icon gettext encoding problem19.05.2004. u 14:50 - pre 244 meseci
Nedavno sam počeo da radim na internacionalizaciji jedne aplikacije na srpski (latinica) jezik koristeći php gettext exntenziju, ali već na samom početku pojavio mi se problem sa prikazom naših slova. Prilikom prevoda u po file-u koristio sam utf-8 i encoding na html stranici je utf-8. Međutim prilikom učitavanja stranice u browser sva naša latinična slova sa akcentima (tipa šđčćž) se ne vide kako treba. Primetio sam da je FireFox stranu encodovao drugačije od utf-a (tj. ako ga ručno stavim na utf slova se dobro vide). Ovo je u slučaju da je locale sr_YU.utf-8, a sličan problem se javljao prilikom korišćenja default sr_YU setovanja za locale.

Evo jednog test primera koji sam koristio (inače preuzeto sa http://www.onlamp.com/pub/a/php/2002/06/13/php.html?page=1)

http://idbulider.com/gettext.php
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Cafe ID - Stats</title>
</head>
<body>
<?php
// I18N support information here
$language = 'sr_YU.utf8';
putenv("LANG=$language");
setlocale(LC_ALL, $language);

// Set the text domain as 'messages'
$domain = 'messages';
bindtextdomain($domain, "./locale");
textdomain($domain);

echo gettext("A string to be translated would go here");
?>
</body>
</html>


Prevod message.po file sam napravio koristeći se poedit programčićem i on je simljen kao utf8. Evo njegovog headera:

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.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2004-05-19 07:01-0400\n"
"PO-Revision-Date: 2004-05-19 13:49+0100\n"
"Last-Translator: Dragan Dinic <[email protected]>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
...


File sa prevodom sam kreirao koristeći msgfmt messages.po.

Hvala unapred na pomoći.


Dinke


 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.231.216.81.gus.vf.siwnet.net

Sajt: dejan.lekic.org


+2 Profil

icon Re: gettext encoding problem19.05.2004. u 15:31 - pre 244 meseci
Iz iskustva znam da gettext ne gresi nikada ... :) Ovo sto si nam rekao mirise na jednu tipicnu gresku - editovao si .po fajl sa nekim editorom koji ili ne zna za utf-8 ili nije bio podesen da koristi ovaj enkoding prilikom editovanja tog .po fajla. Proveri kojim enkodingom editujes .po fajl i onda (ako je tu greska) ostaje ti samo da re-generises .mo za sr_YU.utf8 .
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: gettext encoding problem19.05.2004. u 15:40 - pre 243 meseci
Leka da li mozes preporuciti neki editor .po file-ova?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

Član broj: 933
Poruke: 1008
*.verat.net

Sajt: www.dinke.net


+2 Profil

icon Re: gettext encoding problem19.05.2004. u 16:09 - pre 243 meseci
Editovao sam ga sa poedit-om (http://poedit.sourceforge.net/) pod Linuxom, ali moguce je da je moj build imao neki problem sa unicode-om. Probao sam sada onaj primer sa onlamp.com sajta na mojoj kucnoj masini koristeci se kwrite-om i sve izgleda ok. Probacu sada da ponovo regenerisem po file za celu aplikaciju i da prevedem koristeci kwrite (srecom lokalizovao sam samo par stranica :).

Hvala puno na pomoci Leko, vidi se da si i18n ekspert :)

Dinke
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.231.216.81.gus.vf.siwnet.net

Sajt: dejan.lekic.org


+2 Profil

icon Re: gettext encoding problem19.05.2004. u 16:54 - pre 243 meseci
Verovo ili ne, pre par dana sam poceo da pisem jedan clanak u vezi internacionalizacije u PHP-u pomocu gettext-a, jer mi je vise muka da gledam resenja koja programeri imaju... Gettext nudi najrobusnije i najbolje moguce resenje od svih - definitivno. Uz sve to koristim ga godinama ne samo u PHP aplikacijama, vec i u C/C++ aplikacijama.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.231.216.81.gus.vf.siwnet.net

Sajt: dejan.lekic.org


+2 Profil

icon Re: gettext encoding problem19.05.2004. u 16:56 - pre 243 meseci
Citat:
StRiPy:
Leka da li mozes preporuciti neki editor .po file-ova?


KBabel ili poEdit (http://poedit.sf.net) . Licno vise volim ovaj drugi, mada je onaj prvi znatno mocniji...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

Član broj: 933
Poruke: 1008
*.verat.net

Sajt: www.dinke.net


+2 Profil

icon Re: gettext encoding problem19.05.2004. u 17:25 - pre 243 meseci
Poedit zaista fino izgleda ali sam imao silne probleme dok ga nisam poterao da radi unicode pod Linuxom.

citat sa poedit sajta:
Note about Unicode support under Unix: If you want fully Unicode-enabled poEdit under Unix, you have to build poEdit against wxWindows >= 2.4.0. wxWindows must have Unicode support enabled, too, and must be linked against GTK+ 2.0.

Nekako sam iskopao neki rpm build za suse8.2 na pgadmin sajtu (oni ga izgleda najvise i koriste) ali u medjuvremenu sam shvatio da i kwrite radi posao :)

UPDATE:
Uzrok problema nije bio pogresan charset u *.po file-u, vec sam apache na razvojnom serveru koji je po defaultu slao iso 8859-1 header (sto je overrideovalo meta utf-8 tag). Sada smo to setovali na utf-8 i sve radi kako treba.

Hvala puno na pomoci. Leko ako clanak koji pises nameravas da objavis online, nadam se da ces nas pocastvovati linkom :)

Pozdrav
Dinke

 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: gettext encoding problem18.11.2004. u 19:01 - pre 237 meseci
Citat:
leka: KBabel ili poEdit (http://poedit.sf.net) . Licno vise volim ovaj drugi, mada je onaj prvi znatno mocniji...


emacs opremljen po-modom (po-mode) radi odličan posao.

f
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.yubc.net.



+27 Profil

icon Re: gettext encoding problem18.11.2004. u 20:00 - pre 237 meseci
Citat:
leka:
Gettext nudi najrobusnije i najbolje moguce resenje od svih - definitivno. Uz sve to koristim ga godinama ne samo u PHP aplikacijama, vec i u C/C++ aplikacijama.

Da je robusno, jeste (bar prema mom skromnom iskustvu), ali to da je najbolje moguće... Baš sam nešto petljao sa kôdom KDEa, gde su mi se svi točkići lepo namestili za svojevrsnu „dopunu“ Getteksta: GNU Gettekst + GNU Gajl (Guile) :)

Evo dva primera:

http://caslav.gmxhome.de/misc/cdemo1/a1cut.png — igranje sa padežima imena programa u nekim standardnim elementima KDE-a: naslov prozora, stavke u meniju „Pomoć“, dijalog „O programu“.

http://caslav.gmxhome.de/misc/cdemo1/a3cut.png — kako se uobičajeno razlikovanje oblika množine može po potrebi dopuniti, u ovom slučaju izdvajanjem posebnih slučajeva 0 i 1.

Malo opširniji tekst o ovome na http://caslav.gmxhome.de/writings/ktranscript.html (trebaše mi daleko više vremena taj tekst da napišem, nego da uglavim podršku u KDE :)
 
Odgovor na temu

[es] :: PHP :: gettext encoding problem

[ Pregleda: 1969 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.