我目前正在用 PHP 开发一个网站,我决定使用gettext来管理翻译。我设置了一个不错的Pootle服务器,以便我可以轻松地管理翻译和一个使用 cron 运行的 bash 脚本,该脚本从要翻译的 PHP 文件中提取所有值并创建.pot
翻译模板文件。
到目前为止,一切都很好。但是,我只记得网站的部分文本存储在数据库中。为简单起见,我们将其称为“产品”。我希望产品描述、名称和其他一些字段是可翻译的,但如果我可以有一种集中的方式来翻译它们,而不必创建一个单独的界面来翻译数据库条目,那就太好了。由于已经设置了 Pootle,因此能够使用它会很好。
我想到了两个解决方案:
- 忘记使用数据库,只使用 PHP 数组
- 编写一个脚本,从数据库中提取所有值并生成一个文件,然后由上述 bash 脚本扫描该文件并将值添加到
pot
文件中,另一个脚本将在 bash 脚本之后运行以重新更新数据库中的所有值。
这些解决方案似乎都不是理想的。第一个很容易设置并且很容易与 Pootle 一起使用,但是我失去了使用 DBMS 带来的所有灵活性,并且每次我想使用它时都必须导入整个数组。功能的丧失并不是那么糟糕,因为我(目前)没有对行执行任何高级计算,基本上只是SELECT
s 就是这样。第二个可以工作,但需要更多的计划(和编码)才能正确设置。
是否还有其他方法可以让我获得数据库的灵活性,但让我可以轻松地将其与网站的其他部分(如 Pootle)一起在一个集中的位置进行翻译?