Php 通过AJAX返回的Gettext未翻译

Php 通过AJAX返回的Gettext未翻译,php,jquery,ajax,gettext,Php,Jquery,Ajax,Gettext,gettext可以通过AJAX从php文件中返回翻译文本吗 这是我试图做的一个粗略的例子 <div id="resultText"></div> <?php echo gettext('Other text'); ?> <script> $(document).ready(function() { $.post('somefile.php', somedata, function(r) { $('#resultText'

gettext可以通过AJAX从php文件中返回翻译文本吗

这是我试图做的一个粗略的例子

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

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

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

});
</script>

$(文档).ready(函数(){
$.post('somefile.php',somedata,function(r){
$('#resultText').html(r);
});
});
以及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字符串。。。并且“其他文本”被正确翻译。但“待翻译文本”不是…:(


有什么想法吗?

我也遇到了同样的问题,因为我的ajax文件文件夹不在站点的根文件夹中,我在bindtextdomain()函数上使用了相对路径,就像您一样

因此,不是相对路径:

bindtextdomain($po_domain, "./locale");
我使用了绝对服务器路径:

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

你解决这个问题了吗?