我正在努力升级我们的网站以支持不同的语言。
我的计划是存储多种语言的文本段落,并为每个段落指定一个标识符。
例子
id => '1'
简介 => 'welcome_paragraph'
zh => '欢迎来到我们的网站!'
de => 'Willkommen auf unserer Website!'
要求
- 快速检索
- 随时通过 CMS 编辑
- 易于添加新语言
那么最好的解决方案是将其存储在数据库表中吗?如果是这样,以下哪项是最佳表格设置:
一张表,每种语言一列,每种简介一行:
ID, brief, en, de, es
或者两张表,一张是缩写,一张是翻译:
ID, brief
ID, language, translation
在每个页面中,我打算做......
echo $page->translate($language, $brief);
多次显示需要的文本....继续调用数据库会很慢吗:
SELECT translation FROM translations
WHERE language = 'es' AND brief = 'welcome_paragraph'
LIMIT 1
在每个页面上多次?因此,是否有更好的方法将其存储为平面文件?或者包含大量翻译的 更新 生成的 PHP 文件?
$english = array(
'message1' => 'message1',
'message2' => 'message2',
'message3' => 'message3');
$german = array(
'message1' => 'Nachricht1',
'message2' => 'Nachricht2',
'message3' => 'Nachricht3');
很像 Zend Translate page 上的例子 我目前不考虑使用 Zend Translate...我认为它会产生费用?
最佳答案
http://php.net/manual/en/book.gettext.php是多语言网站的解决方案
您可以查看 wordpress 以了解 gettext 的运行情况。
关于php - 存储和检索翻译文本的最快方法 - 数据库还是平面文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2592958/