php – Gettext或数据库翻译

前端之家收集整理的这篇文章主要介绍了php – Gettext或数据库翻译前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

哪个更好:

> gettext
>自定义基于MySQL缓存的功能

Gettext是一种内置功能,所以我认为它是针对性能进行调整的.使用poedit是一种痛苦,无法向任何客户展示.

自定义功能允许简单的翻译界面.但可能在PHP / db使用上很重.

我想,你会用哪一个?

最佳答案
本地化很困难.这真的很难.它不只是“成对的单词”=> “Wortpaare”,它比这复杂得多.当大多数人看到gettext并且“呃,丑陋”时会忘记的是,本地化过程比实施的技术细节重要得多.那是因为实际的翻译人员通常不是程序员,甚至可能不在内部.这比你想象的更令人头疼. gettext非常古老,经过战斗测试,并且背后有一个巨大的工具链,可以支持这个过程.如果你想正确地做i18n和l10n,你需要一个强大的系统. gettext就是这样,并且得到了各种工具的支持.您的Homebrewed Translation System™没有.

首先,您需要一个强大的系统来提取可翻译的字符串.如果无法从源代码自动且可重复地提取可翻译字符串,那么您需要为要翻译的每个新字符串进行大量工作.在gettext中,xgettext就是这样做的.

接下来,您需要一个工具来将提取的字符串与已存在的翻译同步,以便不会丢失任何翻译,并且只有在可能的情况下才会保留稍微更改的翻译.在gettext中,msgmerge就是这么做的.

接下来,您需要一种向字符串添加额外信息的方法.您希望能够按类别,“域”和上下文对它们进行分组,您可能希望将翻译器的注释添加到源代码中,并且您可能希望翻译人员能够为翻译添加注释. gettext支持所有这些.

接下来,您需要一种得到各种工具支持文件格式,因为您可能会将文件发送到中国以便在那里进行翻译.您可能将它们发送给外部翻译器的原因也是您需要一个良好的同步工具来合并更改的原因,因为这可能是一个非常异步的过程. PO文件得到了很好的支持,因为gettext太老了.有许多开源和商业工具可以根据您的特定需求在多个级别支持本地化过程.

不要低估本地化的任务,选择一个非常适合该过程的工具并学习它. gettext是一个很棒的工具,如果不是最开始的友好.

对于它的价值,这里是my gettext extension for Twig,这使得PHP的gettext更好.

猜你在找的MySQL相关文章