Re: FreeBSD locales
- From: Darko <darko.maksimovic@xxxxxxxxx>
- Date: Fri, 26 Oct 2007 15:49:39 -0000
On Oct 26, 5:44 pm, Darko <darko.maksimo...@xxxxxxxxx> wrote:
Hi,
I have problems implementing i18n on my site hosted on a FreeBSD
server, using PHP. While it was hosted on a Linux server, there were
no problems,
but once I transferred it to FreeBSD, gettext() doesn't translate
anything. Here's my directory structure:
public_html
|-- index.php
`-- locale
|-- en_US.ISO8859-1
| `-- LC_MESSAGES
| |-- OOModelProvider.mo
| `-- OOModelProvider.po
`-- sr_YU.ISO8859-2
`-- LC_MESSAGES
|-- OOModelProvider.mo
`-- OOModelProvider.po
And here's the function that calls php locale-related functions:
/* domain is "OOModelProvider", language is "en_US.ISO8859-2"
*/
function setLocale( $language, $domain )
{
@bindtextdomain( $domain, "/home/darko/public_html/
locale/" );
@bind_textdomain_codeset( $domain, "utf-8" );
if ( ! @setlocale( LC_MESSAGES, $language ) )
throw new Exception( "setlocale" );
textdomain( $domain );
}
This worked perfectly on Linux, but it doesn't work with FreeBSD. I
read somewhere that libintl needs to be installed for LC_MESSAGES, but
1. it is installed 2. LC_ALL instead of LC_MESSAGES doesn't work
neither.
Another important note: LC_DATE works, i.e. sprintf and strftime
(which are locale-aware) work as expected, that is, they print the
strings in expected languages.
Also, after I do setlocale(LC_MESSAGES, $language), I call it with "0"
as the second argument and it returns the correct locale set.
Please, if you have any ideas, post them here.
Thanks.
Also, even when I *which was a mistake) put ISO8859-1 in
bind_textdomain_codeset, it doesn't work neither.
.
- References:
- FreeBSD locales
- From: Darko
- FreeBSD locales
- Prev by Date: FreeBSD locales
- Next by Date: Using rename() across file systems
- Previous by thread: FreeBSD locales
- Next by thread: Re: FreeBSD locales
- Index(es):
Relevant Pages
|