Gettext博客发布不同的语言

时间:2017-09-22 07:32:12

标签: php localization internationalization gettext

我已经花了一个多月的时间寻找一个通用的解决方案,并没有想出任何解决方案。

我需要让我的网站遍布各处,而不仅仅是用户界面。我还需要让我的博客文章多语言,但它们是动态的(通过CMS创建)。

有两个问题:

  1. 我可以使用GNU Gettext进行UI的本地化,但几乎无法想象将它用于博客帖子(除了使用一些可怕的东西,比如通过PHP解析和编辑.po文件,然后将其编译为。使用不可靠的脚本,然后使用一些技巧来避免Gettext缓存...)。所以我想出了一个想法,为动态内容做一些基于数据库的本地化。

  2. 但这意味着我需要使用两种不同的本地化系统:GNU Gettext和基于数据库。这太荒谬了。所以我需要基于所有本地化数据库。

  3. 我是对的吗?有更聪明的解决方案吗?非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

反过来做。

将数据库中的可翻译字符串提取到.pot文件中,例如“database.pot”。当您从php源中提取消息时,请执行此操作(或多或少),如下所示:

xgettext *.php database.pot

您始终可以使用.po或.pot文件作为xgettext的输入。

然后,使用您的常规翻译工作流程,一旦您需要翻译.po文件,解析文件中的翻译,并将它们写回数据库。