我正在考虑为我的客户的网店创建一个“语言表”,他们可以轻松编辑。PHP优化网站语言包
的想法是有这样的表:
id - key - en - fr - es
____________________________________
1 - greet - Hello - Bonjour - Ola
然后我的PHP代码中,我只是想这样用是指:
<h1><? echo i18n('greet'); ?></h1>
语言表将具有约500行,有时是文字,有时是句子。
我不想在每次调用i18n函数时执行一次sql调用,这可能是每页30..40次。
有没有办法分析当前页面,用所需的键做1个查询? 我应该每次加载整个语言表(只是键和使用的语言)吗?
我该如何优化?
您可以在顶部使用脚本中稍后使用的任何可翻译内容更新顶部的'$ words_to_get = array('foo','bar','baz')',然后使用该数组仅获取必要的翻译。 –
是的,我想过,但没有办法自动化这个数组? –
当然,写一个php解析器来扫描你的.php文件以进行任何'i18n'调用。但这些翻译多久会发生变化?您最好将它们作为php代码存储,然后每次通过include()加载/解析。您必须对系统进行基准测试,以查看平衡点在哪里:解析文件开销与版本。从数据库开销加载。 –