【发布时间】:2020-07-09 11:42:21
【问题描述】:
我想在我的网站中实现语言翻译。为此在我的数据库中创建了一个表“翻译”:
id | de | en | other languages
1 | Hallo | Hello | ...
基于此,我在标题中添加了以下查询:
if ($user['language'] == 'de') {
// Select prepared PDO
$statement = $pdo->prepare("SELECT id, de FROM translations");
$result = $statement->execute(array());
$text = $statement->fetch();
}
if .... other languages
我想根据用户语言显示文本翻译。我想知道我现在是否可以使用一个简单的 php echo 方法。如上所述,我在表格中有可用的翻译,但最简单的方法是呼应它吗?
例如。当前状态:
<h4 class="...">Hallo</h4>
带有翻译的新状态(当然它不起作用):
<h4 class="..."><?php echo $text['en'] ?></h4>
所以我缺少的是一种简单的方法来将 id(行)寻址到该文本输出,在该示例中为“1”。
作为一种可能的方法,我找到了这个例子:
<?php
$age=array("Peter"=>"35");
echo "Peter is " . $age['Peter'] . " years old.";
?>
我认为我可以使用它,并且从文本大小来看它看起来很有效。但我不确定如何修改上面表格的查询。最好是我可以做一些类似的事情:
echo $text['1']
它会显示文本输出:“Hallo”。以防万一:
echo $text['2']
它将显示“Hello”。
你觉得这个方法怎么样?您能帮我修改我的查询以使此方法正常工作吗?
非常感谢!
【问题讨论】:
标签: php sql arrays echo translation