【问题标题】:How to make gettext and poedit recognize custom file types?如何让 gettext 和 poedit 识别自定义文件类型?
【发布时间】:2013-01-12 21:34:17
【问题描述】:

我正在尝试让 Smarty 和 gettext 在我的一个项目中一起工作。目前 smarty 在其模板系统中使用 .tpl 文件。
我使用 PoEdit 创建目录文件,并在 PHP 下的文件扩展名中添加了“*.tpl”,但是当我尝试扫描 gettext 字符串时,出现以下错误并且无法找到我的字符串:

xgettext: 警告:文件../libs/smarty/debug.tpl' extensiontpl' 未知;将尝试 C
xgettext:警告:文件../template/login.tpl' extensiontpl' 未知;将尝试 C
xgettext:警告:文件../template/index.tpl' extensiontpl' 未知;会试试C

那么我怎样才能让它工作呢?

【问题讨论】:

    标签: php smarty gettext poedit


    【解决方案1】:

    (你提到的应该有效)。确保它正确保存。

    Edit > Preferences > Parsers

    选择PHP

    输入允许的扩展名...

    .php;.tpl

    注意:您可能还需要更新解析器命令以包括:

    xgettext --language=PHP --force-po -o %o %C %K %F

    【讨论】:

    • 你拯救了我的一天。非常感谢!
    • 自 POEDIT 版本 2 以来这是不可能的。没有编辑解析器的选项。
    • @mikep 它是,通过添加自定义提取器(“+”按钮)。
    • @VáclavSlavík 谢谢我现在找到了!但是在 Poedit-1.8.13 版本中,我可以看到现有语言的提取器设置(xgettext 命令等),以便在创建新的自定义提取器时获得灵感。例如。对于 VueJS 模板(*.vue 文件),我必须使用与 Python (*.py) 相同的选项,但在版本 2 中,我无法查看和复制它。在版本 2 中创建新的自定义提取器时,新手不知道从哪里开始。
    【解决方案2】:

    在尝试安装 smarty 解析器但没有成功后,我在

    中编辑了 Perl

    编辑 > 首选项 > 解析器

    所以我在扩展列表中添加了 *.tpl

    *.pl;*.tpl

    它现在解析 smarty tpl 中的所有 {_("text")}

    【讨论】:

    • 实际上 Perl 解析器并不完全适用于我的 html 文件(在解析 html 标签内的属性时遇到了一些问题)。我发现 Python 解析器更准确 - 它可以解析
    猜你喜欢
    • 2012-09-17
    • 2014-04-22
    • 1970-01-01
    • 2017-01-02
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    相关资源
    最近更新 更多