3

我正在努力升级我们的网站以使用不同的语言。

我的计划是以多种语言存储文本段落并给每个段落一个标识符。

示例
id => '1'
brief => 'welcome_paragraph'
en => '欢迎来到我们的网站!'
de => 'Willkommen auf unserer 网站!'

要求

  • 快速检索
  • 随时通过 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 页面上的示例一样, 我目前不考虑使用 Zend Translate……我认为它是有成本的?

4

1 回答 1

3

http://php.net/manual/en/book.gettext.php是多语言网站的解决方案

您可以查看 wordpress 以观看 gettext 的实际操作。

于 2010-04-07T13:53:11.467 回答