首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php-gettext不工作

php-gettext不工作
EN

Stack Overflow用户
提问于 2011-12-05 01:17:10
回答 2查看 2.1K关注 0票数 1

我正在尝试使用php-gettext设置本地化,但似乎无论如何都不起作用。

我有一个index.php:

代码语言:javascript
复制
<?php require_once "localization.php";?>

<a href="?locale=en_US">English</a> |
<a href="?locale=de_DE">German</a> 

<br>
<?php echo _("Hello World!"); ?><br>
<?php echo _("My name is"); ?> Bob.

和localization.php

代码语言:javascript
复制
<?php $locale = false;
if (isset($_GET["locale"])) { $locale = $_GET["locale"];}
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
textdomain("messages");

我还在./locale/de_DE/LC_MESSAGES/messages.po / .mo下创建了转换文件

我在Ubuntu11.04 (natty),PHP5.3.5-1ubuntu7.3,apache2下试用

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2011-12-05 01:22:07

尝试:

代码语言:javascript
复制
<?php
$directory = dirname(__FILE__).'/locale';
$domain = 'messages';
$locale ="your_locale"; //like pt_BR.utf8";

putenv("LANG=".$locale); //not needed for my tests, but people say it's useful for windows

setlocale( LC_MESSAGES, $locale);
bindtextdomain($domain, $directory);
textdomain($domain);
bind_textdomain_codeset($domain, 'UTF-8');
?>
票数 1
EN

Stack Overflow用户

发布于 2013-05-06 17:13:10

也许太晚了,但我也有同样的问题:

1 -You需要将.utf8添加到您的$locale字符串中2-如果未安装语言,请使用locale -a检查您的系统是否支持该语言,例如de_DE:sudo apt-get install language-pack-de-base

代码语言:javascript
复制
$locale = "de_DE.utf8";
if (isset($_GET["locale"])) $locale = $_GET["locale"];

$domain = 'messages';
$directory = dirname(__FILE__);//your path to locale folder may differ

setlocale( LC_MESSAGES, $locale);
bindtextdomain($domain, $directory);
textdomain($domain);
bind_textdomain_codeset($domain, 'UTF-8');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8377072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档