php gettext extension

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

php gettext extension

Postby oldholborn » Tue Jun 03, 2008 9:39 pm

γειά σας
έβαλα php και apache2 σε windows xp
αλλά δεν ξέρω πως να χρησιμοποιήσω το extension php_gettext.dll
δεν είναι comment στο php.ini και έχω προσθέσει το c:/php5 στο
path και στο php.ini extesion_dir είναι σωστό ,το πρόσθεσα στο system32 php_gettext.dll
πως χρησιμοποείτε ,στο internet λένε xgettext file
το κάνω αυτό ,και βγάζει μήνυμα ότι δεν το αναγνωρίζει

ξέρετε πως γίνεται
User avatar
Sreak
Venus Project Founder
Venus Project Founder
Posts: 956
Joined: Fri Apr 02, 2004 9:56 am
Academic status: PhD
Location: eltrun.gr

Re: php gettext extension

Postby Sreak » Wed Jun 04, 2008 9:58 am

Νομίζω πως χρειάζεται και αυτό για να παίξει gnu_gettext.dll

Ριξε μια μιατια και εδώ μήπως σε βοηθήσει http://www.apachelounge.com/forum/viewtopic.php?t=897

Και όσον αφορά τα paths για τα extensions, μήπως χρειάζεται να κάνεις καμιά δοκιμή http://www.phpbuilder.com/board/archive ... 93605.html
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: php gettext extension

Postby oldholborn » Wed Jun 04, 2008 10:44 am

Sreak wrote:Νομίζω πως χρειάζεται και αυτό για να παίξει gnu_gettext.dll

ευχαριστώ Sreak το κατέυασα και το έβαλα στο system32 τώρα με το gettext δεν υπάρχει πρόβλημα
αλλά το xgettext πως να το χρησιμοποιήσω ?
User avatar
Sreak
Venus Project Founder
Venus Project Founder
Posts: 956
Joined: Fri Apr 02, 2004 9:56 am
Academic status: PhD
Location: eltrun.gr

Re: php gettext extension

Postby Sreak » Wed Jun 04, 2008 11:29 am

Εδώ νομίζω έχει τα παραδείγματα που χρειάζεσαι

http://www.phpdig.net/ref/rn26.html
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: php gettext extension

Postby oldholborn » Wed Jun 04, 2008 2:04 pm

το προπάθησα στο windows δεν δουλεύει με τίποτα

στο ubuntu δουλεύει απο αγγλικά προς ελληνικά
<?php
bindtextdomain('messages', './');
textdomain('messages');
switch ($_GET['l']) {
case 'el':
setlocale(LC_ALL,'el_GR');
break;
case 'en':
default:
setlocale(LC_ALL,'en_US');
break;
}
echo _('Hello World');
?>
αλλά το αντίθετο δεν δουλευει
<?php
bindtextdomain('messages', './');
textdomain('messages');
switch ($_GET['l']) {
case 'el':
setlocale(LC_ALL,'el_GR');
break;
case 'en':
setlocale(LC_ALL,'en_US');
break;
}
echo _('ΓΕΙΑ ΣΑΣ');
?>
User avatar
Sreak
Venus Project Founder
Venus Project Founder
Posts: 956
Joined: Fri Apr 02, 2004 9:56 am
Academic status: PhD
Location: eltrun.gr

Re: php gettext extension

Postby Sreak » Wed Jun 04, 2008 3:58 pm

Ψάξου λίγο με encodings και locales για τέτοιου είδους πρόβλημα μου κάνει.
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: php gettext extension

Postby oldholborn » Wed Jun 04, 2008 4:24 pm

για να μπορέσου να γραψω ελληνικά στο vim :
LANG=el_GR
και μετα
xgettext index.php
βγάζει μήνυμα
Non-ASCII string at index.php:12. Please specify the source encoding through --from-codetext file.php
και μετα
xgettext --from el_GR index.php
βγάζει το ίδιο μήνυμα και μετα

xgettext --from iso-8859-7 index.php (εδω δουλευει)
παράγει το messages.po και μετά ανοίγω το messages.po
και έχει :
#: index.php:12
msgid "γΡια"

msgstr "hello" (το hello το πρόσθεσα εγω)
και μετα
msgfmt messages.po
και πράγει το messages.mo
και μετά τα μεταφέρω (messages.*) στο en/LC_messages/
και μετα ανοίγω το browser
index.php?l=en και index.php?l=el το ίδιο τυπώνουν ένα (Γεια)
:!:
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: php gettext extension

Postby oldholborn » Wed Jun 04, 2008 4:32 pm

τώρα εάν πάω στο messages.po και αλλάζω το msgid "γΡια"
σε msgid "γεια"
στο msgfmt messages.po λεει

en/LC_MESSAGES/messages.po:20:8: invalid multibyte sequence
en/LC_MESSAGES/messages.po:20:9: invalid multibyte sequence
en/LC_MESSAGES/messages.po:20:10: invalid multibyte sequence
en/LC_MESSAGES/messages.po:20:11: invalid multibyte sequence
User avatar
Sreak
Venus Project Founder
Venus Project Founder
Posts: 956
Joined: Fri Apr 02, 2004 9:56 am
Academic status: PhD
Location: eltrun.gr

Re: php gettext extension

Postby Sreak » Wed Jun 04, 2008 4:50 pm

Επομένως από όσο καταλαβαίνω είνα θέμα encoding σωστά?
Δεν δοκιμάζεις να αλλάξεις το default_charset στο php.ini
User avatar
oldholborn
Kilobyte level
Kilobyte level
Posts: 270
Joined: Tue Apr 18, 2006 11:40 am

Re: php gettext extension

Postby oldholborn » Wed Jun 04, 2008 5:06 pm

άλλαξα το default charset στο php5/apache2/php.ini και /php5/cli/php.ini σε iso-8859-7
και έκανα restart στο apache
μετα το xgettext παράγει το ίδιο ( msgid "γΡια" )
και στο browser index.php?l=el και index.php?l=en τυπώνουν και τα δυο (γεια)
:?:

Return to “Προγραμματισμός”

Who is online

Users browsing this forum: No registered users and 2 guests