【问题标题】:Is there something for Internationalization in Php (PhpStorm) as we have in Java (Intellij IDEA)像我们在 Java (Intellij IDEA) 中一样,Php (PhpStorm) 中是否有国际化的东西
【发布时间】:2014-11-22 09:14:46
【问题描述】:

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

PHP 有类似的东西吗?在我正在开发的应用程序中,我们有一个针对 i18n 的自行开发工具——显然没有 IDE 支持。我希望在例如 PhpStorm 中提供类似的 IDE 支持,因为 IDE 支持的强大功能非常强大。这个问题有哪些可能的解决方案?是否可以在 PhpStorm 中做到这一点?

【问题讨论】:

  • 不——什么都没有(除了支持*.po 文件)。 PHP 本身没有任何标准/广泛使用的方法(绝大多数框架都在使用);再加上 AFAIK PhpStorm 并没有正式支持任何特定框架(WordPress/Drupal),它会在这方面提供任何特定工具。
  • 有些 JetBrains IDE 产品有一个 gettext() / .po 插件:plugins.jetbrains.com/plugin/7123?pr= 不幸的是,它似乎不适用于 PhpStorm
  • 根据youtrack.jetbrains.com/issue/PY-6946,应该从 PhpStorm 版本 5 开始支持 gettext ...它可能只在使用 CakePHP 时才有效? (我不是 PhpStorm 用户,所以我只能引用 Google 发现的内容......)
  • 我在我的公司开发了一个 web 应用程序来做到这一点。这样一来,翻译就不再是开发者的事了:-)。

标签: php intellij-idea internationalization phpstorm


【解决方案1】:

是的,PHP 支持Gettext。对于 PHPStorm 来说可能很困难。但你仍然可以使用不错的第三方应用程序,例如POEdit

【讨论】:

  • 谢谢 risyasin。并不是我真正希望的答案,但因为这似乎是这个案例的真相,而且我还不知道 POEdit - 这很好 - 你的 +50 ^_^
  • Jetbrains 做得很好。只需再多一点即可获得完美的 IDE。缺少的一项是 gettext 支持。但我对此充满希望,很快就会完成。
【解决方案2】:

今天 phpStorm 支持 gettext 和 mo po 文件格式。但没有原生自动编译。

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

  1. 在 phpStorm 中转到设置 - 工具 - 文件观察器。
  2. 添加新的观察者。
  3. 这一切!现在,如果您编辑 po-files,则 mo-files 会自动编译。

用于复制\粘贴的字符串

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
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
相关资源
最近更新 更多