Tôi có một trang web. Tôi đang cố gắng để có được gettext để làm việc để các trang web tiếng Anh, Thụy Điển và Na Uy của tôi có thể đi lên. Tôi không thể có được nó để làm việc. Tôi đã làm gì sai?PHP và Gettext không hoạt động trên máy chủ của tôi
Đây là mã cấu hình của tôi:
// define constants (defualt - danish)
$lang = 'da_DA';
$lang_short = '';
$lang_prefix = 'da';
if (isset($_GET['lang']))
{
switch($_GET['lang'])
{
case 'en':
$lang = 'en_EN';
$lang_short = 'en/';
$lang_prefix = 'en';
break;
case 'se':
$lang = 'se_SE';
$lang_short = 'se/';
$lang_prefix = 'se';
break;
case 'no':
$lang = 'no_NO';
$lang_short = 'no/';
$lang_prefix = 'no';
break;
}
}
define('LANG', $lang_short);
define('LANG_PREFIX', $lang_prefix);
putenv("LC_ALL=". $lang);
bindtextdomain('messages', ROOT .'lang/');
Và con đường của tôi là /var/www/rssbot.dk/lang/
. Tôi có nên làm chmod đúng không, hay ...?
Bạn đặt tệp .mo ở đâu dưới 'lang'? Bạn có một '/ var/www/rssbot.dk/lang/en_EN/LC_MESSAGES/messages.mo' không? Ngoài ra, hãy thử 'locale -a' để xem tất cả các ngôn ngữ có sẵn hay không. –
Yes để "con đường" và đối với ngôn ngữ -a trở lại của nó (C en_GB.utf8 en_US.utf8 POSIX ) – ParisNakitaKejser
Đúng tôi nếu tôi sai nhưng tôi không chắc chắn en_EN là một miền địa phương hợp lệ. Hãy thử 'en_US' hoặc có lẽ chỉ là' en' nên là vùng trung lập. Bạn cũng có thể phải cài đặt các ngôn ngữ khác ngoài tiếng Anh trên hệ điều hành của bạn để làm cho các ngôn ngữ khác hoạt động. –