Php(PhpStorm)中是否有类似于Java(Intellij IDEA)中的国际化功能?

5

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

enter image description here

PHP是否有类似的工具?在我开发的应用程序中,我们为i18n开发了自己的工具-显然没有IDE支持。我希望在PhpStorm中有类似的IDE支持,因为IDE支持的功能非常强大。解决此问题的可能解决方案是什么?在PhpStorm中是否可以做到这一点?


1
除了支持 *.po 文件之外,PHP 本身没有任何标准/广泛使用的方法(被绝大多数框架使用);此外,据我所知,PhpStorm 并不正式支持任何特定的框架(WordPress/Drupal),在这个层面上它也不会提供任何特定的工具。 - LazyOne
一些JetBrains IDE产品有gettext()/.po插件:https://plugins.jetbrains.com/plugin/7123?pr=不幸的是,它似乎不能在PhpStorm中使用。 - Hartmut Holzgraefe
根据 https://youtrack.jetbrains.com/issue/PY-6946 ,自 PhpStorm 5 版本以来应该有一些 gettext 支持……不过可能只在使用 CakePHP 时才会激活?(我不是 PhpStorm 用户,所以只能引用 Google 找到的内容……) - Hartmut Holzgraefe
我在公司开发了一个Web应用程序来完成这项工作。这样一来,翻译就不再是开发人员的事情了 :-). - Alain Tiemblo
2个回答

3

是的,PHP有Gettext支持。对于PHPStorm来说可能有些困难,但你仍然可以使用像POEdit这样的不错的第三方应用程序来处理。


谢谢risyasin。虽然这不是我希望得到的答案,但既然对于这种情况似乎是真实的,并且我还不知道POEdit - 这很好 - 所以你可以得到你的+50 ^_^ - Mathias Bader
1
Jetbrains做得很好。只需要再做一些努力就能成为完美的IDE了。其中一个缺失的功能是gettext支持,但我对此充满希望,相信它很快就会实现。 - risyasin

1
今天phpStorm支持gettext和mo po文件格式。但是没有本地自动编译。
我们可以为po文件添加文件监视器以进行自动编译。 我已经在我的Windows 7上安装了Poedit。在GettextTools目录中,我找到了文件“msgfmt.exe”。
1.在phpStorm中转到设置-工具-文件监视器。
2.添加新的监视器。
3.这就是全部!现在如果您编辑po文件,那么mo文件将自动编译。
复制\粘贴字符串:
C:\Program Files (x86)\Poedit\GettextTools\bin\msgfmt
-o$FileDir$\$FileNameWithoutExtension$.mo $FileDir$\$FileName$

$FileDir$\$FileNameWithoutExtension$.mo


对于 Linux 系统: msgfmt -o $FileDir$/$FileNameWithoutExtension$.mo $FileDir$/$FileName$ $FileDir$$FileNameWithoutExtension$.mo - Anatoli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接