1
3
Zend框架有一个名为Zend_Translate的组件,它非常有用,并且 manual page has a good write up 以不同的方式存储字符串,即使您决定不使用ZF组件。 如果您作为开发人员维护字符串,PHP是性能最好的解决方案。如果你在一家翻译公司工作,他们很可能会期望与csv合作,并将这些信息来回发送。 我不知道一个数组或基于常量的解决方案是否更好,但我的钱在数组上。一个快速的基准很快就会告诉你。 |
2
1
gettext呢? 或者,Zend框架提供了一个真正可靠的接口来处理翻译。 |
3
1
我使用mysql表存储所有语言字符串。这样我可以很容易地创建一个用户界面来编辑它们。 |
4
0
我对前三个方法做了简单的基准测试。我创建了具有10000个字符串分配的模块,并分别测量了加载/编译时间和访问时间。 毫不奇怪的是,与globals和array方法相比,常量的加载和编译速度要快得多。但令我惊讶的是,常量的访问速度明显较慢!可能是因为这是PHP中的一种新机制,还没有完善。
考虑到您通常加载大量的区域设置数据,然后只使用其中的一小部分,我认为最明智的方法是常量。毫不奇怪,类静态常量的性能优于全局常量。 所以我选择方法3。我还没有测试过数据库方法,但有迹象表明,读取整个数据库表与读取同一卷的PHP源文件大致相同或更昂贵。 |
devBem · 反应来自<FormattedMessage> 6 年前 |
beechy · 两级国际化;资源绑定 6 年前 |
lpt · 外语中的词云或可视化 6 年前 |
SeaFuzz · 如何将国际化对象传递给Flutter中的子小部件 6 年前 |
lio · 具有三个表和一个动态列的Mysql查询(i18n) 6 年前 |