通过AJAX返回的Gettext未翻译
问题描述:
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要翻译的字符串...和“其他文本”被正确翻译。但“文本翻译”不... :(
任何想法?
答
我有同样的问题,因为我的AJAX文件夹中的站点的根文件夹不是,我是使用相对路径在bindtextdomain()函数,就像你是
因此,而不是相对路径:
bindtextdomain($po_domain, "./locale");
我使用绝对服务器路径:
bindtextdomain($po_domain, "/var/www/folder/locale");