2013-02-26 104 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");