
使用Thomas Bley建议的预处理器实现没有性能命中的i18n
Jos*_*ndo 166 php mysql multilingual localization internationalization
我已经在这个问题上苦苦挣扎了好几个月,但我还没有遇到过需要探索所有可能的选择的情况.现在,我觉得是时候了解可能性并创建我自己的个人偏好,以便在我即将开展的项目中使用.
让我先描绘一下我正在寻找的情况
Sidenote: Laraval4 should be no factor in your answer
应该翻译什么
由于我正在寻找的系统需要尽可能用户友好,管理翻译的方法应该在CMS内部.应该没有必要启动FTP连接来修改翻译文件或任何html/php解析模板.
此外,我正在寻找最简单的方法来翻译多个数据库表,而不需要创建额外的表.
我自己想出了什么
正如我一直在寻找,阅读和尝试自己.我有几个选择.但我仍然觉得我没有达到我真正寻求的最佳实践方法.现在,这是我想出来的,但这种方法也有它的副作用.
Controller.View.parametervalueecho __('Controller.View.welcome', array('name', 'Joshua'))Welcome, :nameWelcome, Joshualanguages/en_EN/Controller/View.phpformat parameter=value;NewsNews_translationsdata versioningTranslationslanguagetablenameprimarykey
所以,他们就是.我的想法到目前为止.他们甚至不包括日期等的本地化选项,但是因为我的服务器支持PHP5.3.2 +,最好的选择是使用intl扩展,如下所述:http://devzone.zend.com/1500/internationalization-in -php-53 / - 但这将在任何后期的开发体育场中使用.目前,主要问题是如何在网站上获得最佳的内容翻译实践.
除了我在这里解释的一切,我还有另一件我尚未决定的事情,它看起来像一个简单的问题,但事实上它让我头痛:
网址翻译?我们应该这样做吗?以什么方式?
http://www.domain.com/about-ushttp://www.domain.com/over-ons/about
http://www.domain.com/nl/about-ushttp://www.domain.com/en/about-ushttp://www.domain.com/en/about-ushttp://www.domain.com/about-us
http://www.domain.com/about-ushttp://www.domain.com/nl/over-onshttp://www.domain.com/de/uber-uns
我希望我的问题让你的头开裂,他们肯定会破解我的!它确实帮助我在这里解决问题.让我有可能回顾一下我之前使用的方法,以及我对即将推出的CMS的想法.
我想感谢你花时间阅读这一堆文字!
// Edit #1
我忘了提到:__()函数是翻译给定字符串的别名.在这种方法中,显然应该有某种回退方法,当没有可用的翻译时,加载默认文本.如果缺少翻译,则应插入翻译文件或重新生成翻译文件.


