当前位置: 首页 > 知识库问答 >
问题:

PHP仅获取文本空白

柯振濂
2023-03-14

我已确认已在服务器上安装gettext。我使用本教程开始学习,并遵循其指导。

我还在PHP手册的gettext()页面上读到,如果在翻译表中找不到翻译,它将只使用未翻译的文本。

对于本地化,我有

$language = "en";
putenv("LANG=$language"); 
setlocale(LC_ALL, $language);

// Set the text domain as 'messages'
$domain = 'messages';
bindtextdomain($domain, 'home/www/translations'); 
textdomain($domain);

我有两个目录设置,一个为en(翻译/en/LC_MESSAGES/message.po)和另一个为zh(相同的结构。)我生成的. po文件使用

xgettext -n *.php

我的问题:根本没有显示“en”的文本原始字符串是英文的,我最初试图完全省略“en”目录,但这并没有帮助。

共有1个答案

楚宏胜
2023-03-14

如果源文件中有英文文本,则不需要en版本的目录。试着看看日志,文本应该显示出来,会有一些错误。同时尝试重新启动服务器,以缓存目录。

这是我如何使用gettext,在windows/linux服务器上测试

function setLocaleByLang($lang)
{
    bindtextdomain('app', APPDIR . "/locale"); // APPDIR is definded constant including root of application
    bind_textdomain_codeset('app', "UTF-8");
    textdomain('app');

    $map = array(
        'cs' => array('cs_CZ.UTF-8', 'cs_CZ', 'cs', 'czech'),
        'en' => array('en_US.UTF-8', 'en_US', 'en', 'english'),
        'de' => array('de_DE.UTF-8', 'de_DE', 'de', 'german'),
        'pl' => array('pl_PL.UTF-8', 'pl_PL', 'pl', 'polish'),
        'sk' => array('sk_SK.UTF-8', 'sk_SK', 'sk', 'slovak')
    );

    $locale = key_exists($lang, $map) ? $map[$lang] : $map['en'];
    setlocale(LC_ALL, $locale);
    putenv('LC_ALL=' . $lang); // for windows and gettext
}

使用方法:

setLocaleByLang('en'); // received from user preferences or browser accept header

我使用Poedit进行更新。采购订单文件和翻译。

 类似资料:
  • 我正在尝试使用PHP从网页收集文本,这样当该网站上的文本更新时,它也会自动更新。 以网站http://www.roblox.com/CW-Ultimate-Amethyst-Addiction-item?id=188004500为例——在类中,有一个数字说R$20,003——我的目标是从Roblox获取文本到我的网站。 我已尝试使用该代码执行此操作,但无效-我遇到以下错误: 警告:file_get

  • 问题内容: 我有这样的下拉菜单。我想要的是,我想使用 PHP 在按钮提交中获得选定的值和文本。我的意思是如果它被选为第一。我想同时获得 1 和 Cat 请帮忙。谢谢。 问题答案: 使用您的$ animals列表生成下拉列表;您现在可以获得密钥和该密钥的值。

  • 问题内容: 我已经知道如何从Java剪贴板中获取纯文本,但是有时文本会以某种奇怪的方式进行编码,例如从Microsoft Word或从网站复制甚至从Eclipse复制源代码时。 如何从这些s中提取纯文本? 问题答案: 使用getData()方法和stringFlavor,您应该从剪贴板中获取纯文本。 如果剪贴板中有奇怪的文本,我认为,这应该是将数据放入剪贴板的程序问题。

  • 问题内容: 我正在尝试从文本文件中获取特定行。 到目前为止,在网上我只看到过sed之类的东西(我只能使用sh-不能使用bash或sed或类似的东西)。我只需要使用基本的shell脚本来执行此操作。 我知道如何遍历行,如上所示,但是如果我只需要获取特定行的内容怎么办? 问题答案: sed: awk:

  • 问题内容: 如何使用PHP DOM从此标记中提取字符串“文本”? 包括“ notthis” 问题答案: 只要您可以影响DOM,就可以将其删除。 或者,只需访问的文本节点。 如果最终有更多的文本节点并且只想要第一个,则可以在的第一个赋值之后。

  • 主要内容:Jsoup 获取文本 语法,Jsoup 获取文本 说明,Jsoup 获取文本 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后获取文本的方法的使用。 Jsoup 获取文本 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 link : 元素对象表示表示锚标记的 html 节点元素。 link.text() : text() 方法检索元素文本。 Jsoup 获