【问题标题】:Empty PO file when scanning ctp files扫描ctp文件时清空PO文件
【发布时间】:2018-10-19 17:58:40
【问题描述】:

我正在尝试本地化我的 php 应用程序,该应用程序使用 .ctp 文件作为视图。

这里是文件内容的示例:

<h2><?php __('Menu');?></h2>
<table >
<tr >
    <td  style="text-align:left>
        <?php echo $html->link('Main Config','/admin/configs/index')?>
    </td>
</tr>

PS:这不是我的代码,我无法更改它 - 但我需要翻译它!

我尝试使用POEdit 跟踪线程并尝试使用this solution,但它似乎在POEdit 的早期版本上...

所以我在我的根目录中为de-DE 创建了一个新的po 文件(标准编码,...),打开目录的首选项并添加. 和一个包含上述代码的特定/subdir/test.ctp 文件)我的源路径,然后将___ 添加到其他关键字(以及我发现的其他一些包含一些文本,例如inputlink)。

然后,无论我使用更新还是从源更新,都没有找到字符串 - 它说“从 0 翻译 0 (0%)”...

我在这里做错了什么?

注意:这是在仅安装了 POEdit 的 Windows 10 电脑上,我没有直接在我的机器上安装 phpphp-gettext,但它们应该从我能读到的内容中嵌入POEdit...

【问题讨论】:

  • 您使用的是哪个版本的 CakePHP?您如何为您的应用程序设置 locale 设置?您是否将i18n shell 用作described here?对我来说,您似乎缺少步骤。 POEdit 只是该过程中的一个中间步骤。根据您的设置,它可能是最后一个。所以它不会单独工作。

标签: cakephp translation poedit


【解决方案1】:

.ctp 扩展名不能被 GNU gettext 的 xgettext 识别为 PHP 扩展名——这样的文件会被跳过。我只是为 Poedit a week ago 添加了特殊处理,所以在 Poedit ≥ 2.0.8 中会很好。

在此之前,您可以为 *.ctp 文件添加自定义提取器(使用与 Poedit 1 中相同的语法,请参阅输入它的窗口中的占位符示例)。

【讨论】:

  • 能否请您告知我在哪里可以找到最新版本的 Windows 版本(在您的网站上找到 2.0.7),在此之前,在以前的版本中,我可以在哪里编辑“提取器” “?谢谢!!!
  • 我刚刚升级,但我绝对无法创建一个从 ctp 源更新的项目...您是否在某处发布了教程,或者您能否提供一个我可以修改的示例 pot 文件?
  • @neggenbe 在 v2.0.8+ 中处理 *.ctp 不需要什么特别的东西。只是标准设置,谷歌有大量的教程(“poedit 教程”)。如果您发现一些问题,请参阅chiark.greenend.org.uk/~sgtatham/bugs.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-14
  • 2015-04-21
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多