1

从我以前的关于gettext的问题来看,使用PHP的gettext扩展代替其他语言翻译方法的最大好处之一是,让其他人使用名为的程序制作翻译文件是非常容易的Poedit翻译php应用程序与gettext

现在我的getText在我的应用程序工作,但我还没有做出任何翻译文件的是,我发现在网上演示文件,并用它测试,以符合我的应用程序gettext的工作虽然。

现在我poEdit的发挥各地一点点,我可能是错的,希望有人能澄清一些问题。

  1. 据我可以告诉poedit通过您的php代码读取,并找到所有availabale点做翻译,这是正确的吗?

  2. 如果上面的是正确的,那么你怎么有一个人的翻译与翻译poEdit软件,而无需访问你的应用程序?

或者简单地说,有可能在不访问您的php代码的情况下用poedit制作翻译文件?

回答

2

注意,我从来没有使用poEdit的自己,所以这可能不是完全准确...

一个有趣的文章,你可能会先阅读,对于一些信息:Localizing a WordPress Plugin Using poEdit
这是WordPress的,这意味着PHP - 所以你的应用程序的基本思想应该是可以的。

基本上,如果我没有理解好:

  • 你先告诉poEdit的您的翻译功能是如何叫
  • 这应该回答你1提取所有从PHP源代码
    • 弦)
  • 然后,你会翻译
    • 与工作/在.po文件
    • 我猜你可以将此.po文件分发到您的翻译,那么谁可以翻译它包含
  • 弦和,最后,您使用.po文件生成将在您的应用程序中使用的.mo文件。


这另一篇文章,关于WordPress也似乎表明,我猜右:User:Skippy/Creating POT Files - 尤其是,这句话:

使其可用的.po文件为 下载(或者可选地将其包含在 插件存档中)。译者将使用此文件构建一个 。mo文件,其中 将由 load_plugin_textdomain()函数使用。

(显然,您可以使用您的应用程序的功能名称将不会是一样的一个在WordPress - 还在,倒也有)


希望这有助于:-)
玩得开心!

+1

谢谢你,你总是在你的答案中付出很多努力+1 – JasonDavis 2009-09-13 22:23:03

+1

@jason:不客气:-)在这里,我对gettext很好奇:我想我会在某一天或其他时间使用它(特别是因为我目前正在开发一个使用gettext的项目 - 即使我不是负责翻译的项目) – 2009-09-13 22:24:05

+0

我希望有一种方法可以创建gettext将手动使用的原始(第一个)字段在文本编辑器中,但它看起来像我必须让poedit扫描我的所有项目文件,除非我找到另一种方法 – JasonDavis 2009-09-13 22:35:04

2

不,poEdit没有读取您的所有来源。你使用gettext实用程序“xgettext”来做到这一点。

基本上,xgettext会产生一个.po文件。

您的翻译人员将使用POEdit来处理该.po文件。

翻译完成后,您会将.po编译到.mo中,您的应用程序将使用它来查找翻译。

如果您在某些unixy系统上安装了gettext,请尝试在bash中使用“info gettext”。

+0

@tim:http://www.poedit.net/页面说:“您可以使用Poedit扫描可翻译字符串的源代码。” - 看起来你可以使用poEdit来读取源代码? – 2009-09-13 22:21:27

+0

哦,看看!实际上很久没有使用过gettext(它伤害了我)。那时候,我最终在命令行写了一些脚本来驱动xgettext,并且它运行得很好。我认为php-gettext扩展在这个过程中有一些体面的文档。 – timdev 2009-09-13 23:16:27

0

PoEdit实际上使用xgettext,您可以正确设置设置/解析器选项卡。

您应该分发.pot文件的方式,这是一个.po模板。所以翻译人员可以翻译它,设置语言,翻译团队等。

不幸的是,我看不到从源代码创建.pot文件的选项,但poedit可以阅读(当然,它与.po相同)。

创建自己的.po后,您可以拥有.mo