2013-02-26 101 views
3

gettext是否能够通过AJAX从php文件中翻译文本?通过AJAX返回的Gettext未翻译

这是我想要做的

<div id="resultText"></div> 
<?php echo gettext('Other text'); ?> 

<script> 
$(document).ready(function() { 

    $.post('somefile.php', somedata, function(r) { 
     $('#resultText').html(r); 
    }); 

}); 
</script> 

一个粗略的例子,PHP文件:

<?php // somefile.php 

// gettext setup (from an included file) 

$lang = "de_DE"; 
if (isset($_GET['lang'])) $lang = $_GET['lang']; 
putenv("LC_ALL=$lang"); 
setlocale(LC_ALL, $lang); 
bindtextdomain("de_DE", "locale"); 
bind_textdomain_codeset('de_DE', 'UTF-8'); 
textdomain("de_DE"); 

// do some logic 

echo gettext('Text to be translated'); 

?> 

poEdit的拿起somefile.php要翻译的字符串...和“其他文本”被正确翻译。但“文本翻译”不... :(

任何想法?

回答

0

我有同样的问题,因为我的AJAX文件夹中的站点的根文件夹不是,我是使用相对路径在bindtextdomain()函数,就像你是

因此,而不是相对路径:

bindtextdomain($po_domain, "./locale"); 

我使用绝对服务器路径:

bindtextdomain($po_domain, "/var/www/folder/locale");