php - 通过 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').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");

关于php - 通过 AJAX 返回的 Gettext 未翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15082402/

相关文章:

php - 为什么我的电子邮件仍然被视为垃圾邮件?使用mail()函数

javascript - AJAX insert in MySQL delay - 非插入

php - 图像大小调整和压缩

jquery - 如何重写你自己的 jQuery 的 validate 方法?

javascript - 如何使用 contenteditable 属性避免在内联编辑中复制 HTML 和 CSS 内容

jquery - Null 不是 AJAX 的对象并检索部分页面

javascript - jQuery 函数是否仍可用于 AJAX 调用返回的 HTML 表?

php - 如何从我的数据库填充的表中进行搜索

php - 如何将连接表的结果数组存储在mysql的行结果中?

javascript - 对父 div 的 Angular 单击不会触发所有子 div