5

根据您的经验,使用 gettext 扩展名在 PHP 项目中为每种语言使用 1 个语言文件还是多个较小的语言文件更好?我什至不确定是否可以使用多个文件,因为服务器缓存了语言文件,所以我很难测试。

我在一个社交网站上做多种语言,到目前为止,只有注册页面大约是 200 页中的 1 页,它有 35 个要翻译的文本字符串,以这种速度,每种语言的语言文件会非常大,所以我在想也许为不同的页面或论坛部分和博客部分等部分制作不同的语言文件会更好,但如果没有区别,那么我宁愿不要浪费时间为每种语言制作多个较小的文件。

我意识到每种情况都是不同的,唯一真正的答案是测试它,但我希望这次能避免这种情况,只是得到一些更有经验的人的意见,这是我第一次使用 gettext,谢谢

4

4 回答 4

4

我会基于语言文件模块。使用 gettext 您需要为每种语言指定区域设置。最好为每个模块或站点的大部分内容提供单独的 .po/.mo 文件。

这是我的意见。:-)

于 2009-09-20T04:39:42.933 回答
2

我通常通过使用数据库编辑站点(使用简单的数据库查找)来自动化该过程并在多个文件中使用多种语言。这让我可以聘请翻译人员来轻松验证当前的翻译。部署到生产环境只是将数据库转换为一组语言文件。

于 2009-09-20T04:33:13.817 回答
0

根据经验,我会在每个文件的基础上分解语言,因为管理开销变得很重,并且存在很大的重复和错误空间。

另一个优点是,通过使用目录结构和命名约定,可以比大文件更容易地以编程方式选择正确的语言,并且更容易在项目的后期编写管理工具。

其他人使用的一些格式也值得一看。许多框架都使用这种结构,Dashcode、Symfony、Zend 等。还有一种 xml 格式的 xliff 用于处理翻译并与翻译人员使用的许多工具集成。

于 2009-10-23T06:53:16.660 回答
0

多个文件是最好的方法,但事情可能会变得杂乱无章。

我们刚刚推出了一项名为 String 的免费新服务,它解决了管理多语言文件的大部分问题——比如本地化的大本营。您可以导入现有文件,也可以使用系统中的键和字符串从头开始。准备就绪后,您可以再次导出文件以运行您的应用程序。它适用于 PHP(数组)、PHP(定义)、po、yaml、ini 和 .strings 格式。

String 允许您轻松地与翻译人员协作 - 您只需邀请他们加入项目并设置他们的语言权限。如果翻译人员需要更多信息,他们可以在每个字符串上留下评论和问题 - 如果事情不太正确,您可以使用历史记录功能恢复字符串。

无论如何,足够的销售宣传!在http://mygengo.com/string上查看- 我们很乐意收到您的反馈。

于 2009-11-30T23:31:02.357 回答