根据您的经验,使用gettext扩展名为PHP项目中的每种语言使用1个语言文件或多个较小的langauge文件会更好吗?我甚至不确定是否可以使用多个文件,因为服务器缓存语言文件,所以我很难测试。
我在社交网站上做多种语言,到目前为止只有注册页面大约有200页要去,它有35个要翻译的文本字符串,按此速度,每种语言的语言文件将是非常大,所以我想也许最好为不同的页面或论坛部分和博客部分做不同的语言文件,但如果它没有区别那么我不会浪费我的时间为每种语言制作多个较小的文件。
我意识到每种情况都是不同的,唯一真正的答案是测试它,但我希望这次避免这种情况,只是让一些人更有经验,这是我第一次使用gettext,谢谢
答案 0 :(得分:4)
我会使用语言文件模块。使用gettext,您需要为每种语言指定语言环境。最适合为每个模块或站点的大部分设置单独的.po / .mo文件。
这是我的意见。 : - )
答案 1 :(得分:2)
我通常使用数据库编辑站点(使用简单的数据库查找)自动执行该过程并在多个文件中使用多种语言。这让我可以聘请翻译人员轻松进入并验证当前的翻译。然后部署到生产只是将数据库转换为一组语言文件。
答案 2 :(得分:0)
根据经验,我会在每个文件的基础上打破语言,因为管理开销变得很重,并且存在重复和错误的大范围。
另一个优点是,通过使用目录结构和命名约定,可以比大文件更容易地以编程方式选择正确的语言,并且在项目的后期更容易编写管理工具。
还值得一看其他人使用的一些格式。许多框架使用这种结构,Dashcode,Symfony,Zend等。还有一个xml格式xliff,用于处理翻译并与翻译人员使用的许多工具集成。
答案 3 :(得分:0)
多个文件是最好的方法,但事情可能会变得杂乱无章。
我们刚刚推出了一项名为String的免费新服务,解决了管理多种语言文件的大部分问题 - 比如本地化的大本营。您可以导入现有文件,也可以从头开始使用系统中的键和字符串。准备就绪后,您可以再次导出文件以运行您的应用。它适用于PHP(数组),PHP(定义),po,yaml,ini和.strings格式。
String允许您轻松地与翻译人员协作 - 您只需邀请他们加入项目并设置他们的语言权限。如果需要更多信息,翻译人员可以在每个字符串上留下评论和问题 - 如果事情不太正确,您可以使用历史记录功能恢复字符串。
无论如何足够的销售推销! 请查看http://mygengo.com/string - 我们很乐意反馈您的意见。