Php(PhpStorm)中是否有像Java(Intellij IDEA)中那样的国际化功能

Php(PhpStorm)中是否有像Java(Intellij IDEA)中那样的国际化功能,php,intellij-idea,internationalization,phpstorm,Php,Intellij Idea,Internationalization,Phpstorm,在开发Java应用程序时,我可以使用ResourceManager进行国际化(i18n)。许多IDE(比如Intellij IDEA)都支持这些文件——我可以在对ResourceManager的调用中单击id,直接访问资源文件。我可以在资源文件中看到应用程序中实际使用了哪些ID,并且我有一个图形编辑器: PHP有类似的功能吗?在我正在开发的应用程序中,我们有一个自行开发的i18n工具——显然没有IDE支持。我希望在例如PhpStorm中有类似的IDE支持,因为IDE支持的威力是巨大的。这个问题

在开发Java应用程序时,我可以使用ResourceManager进行国际化(i18n)。许多IDE(比如Intellij IDEA)都支持这些文件——我可以在对ResourceManager的调用中单击id,直接访问资源文件。我可以在资源文件中看到应用程序中实际使用了哪些ID,并且我有一个图形编辑器:


PHP有类似的功能吗?在我正在开发的应用程序中,我们有一个自行开发的i18n工具——显然没有IDE支持。我希望在例如PhpStorm中有类似的IDE支持,因为IDE支持的威力是巨大的。这个问题的可能解决方案是什么?在PhpStorm中可以这样做吗?

是的,PHP提供了支持。对于PHPStorm来说可能很难。但是你仍然可以使用合适的第三方应用,比如今天phpStorm支持的gettext和mo-po文件格式。但没有本机自动编译

我们可以为po文件自动编译添加文件监视程序。 我已经在Windows 7中安装了Poedit。在GettextTools目录中,我找到了文件“msgfmt.exe”

  • 在phpStorm中,转到设置-工具-文件监视程序
  • 添加新的观察者。
  • 这就是全部!现在,如果您编辑po文件,则mo文件将自动编译
  • 复制\粘贴字符串

    C:\ProgramFiles(x86)\Poedit\GettextTools\bin\msgfmt

    -o$FileDir$\$FileNameWithoutExtension$.mo$FileDir$\$FileName$


    $FileDir$\$FileNameWithoutExtension$.mo

    Nope——什么都没有(除了对
    *.po
    文件的支持)。PHP本身没有任何标准/广泛使用的方法(绝大多数框架都使用这种方法);另外,AFAIK PhpStorm在如此高的级别上不正式支持任何特定的框架(WordPress/Drupal),在这方面它将提供任何特定的工具/
    .po
    一些JetBrains IDE产品的插件:不幸的是,它似乎不适用于PhpStorm,因为PhpStorm版本5应该对gettext有一些支持。。。但它可能仅在使用CakePHP时才处于活动状态?(我不是PhpStorm用户,所以只能引用谷歌的发现…)我在公司开发了一个webapp来实现这一点。这样,翻译就不再是开发者的事了:-)。谢谢risyasin。这并不是我所希望的答案,但因为这似乎是本案的真相,而且因为我还不知道POEdit——这很好——好了,你的+50^喷气式飞机做得很好。只需多做几步,就可以获得完美的IDE。缺少的一个功能是gettext支持。但我对此充满希望,很快就会实现。对于linux:msgfmt-o$FileDir$/$FileNameWithoutExtension$.mo$FileDir$/$FileName$\$FileNameWithoutExtension$.mo