尝试找到制作多语言网站的最佳方式。这就是我现在所做的:
<?php
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
}
$content = array(
'bg' => array(
'word1' => 'Начало',
'word2' => 'Тест'
),
'en' => array(
'word1' => 'Home',
'word2' => 'Test'
),
);
?>
然后以这种方式打印内容:
<?= $content[$lang]['word1'] ?>
<?= $content[$lang]['word2'] ?>
Here is picture of the code too.我第一次这样做,所以可能我做错了。如何改进这种结构?
此外,我正在对页面上显示的所有内容进行transalte,而不仅仅是内容,因此我认为将其置于数据库中是错误的。
答案 0 :(得分:0)
您目前的工作方式完全没问题,但我建议您从代码中分离翻译,以保持文件的清洁。
这样做,您仍然可以使用PHP作为翻译文件,但您不必在每个文件中声明翻译(并且可能多次使用它们)
bg.php
<?php
return [
'word1' => '...',
'word2' => '...'
];
?>
并包含您的翻译,只需写下这样的内容
$content = require('translations/' . $lang . '.php');
echo $content['word1'];
这样做,你还应该检查给定的语言是否有效。
$valid_languages = ['bg', 'en'];
if (!in_array($lang, $valid_languages)) die('usefull message');