我正在嘗試創建一個簡單的多語言網站。 (數據將在稍後存儲在數據庫中)基本上,我會在我的表格上使用語言字符串(如tr_text和en_text)開始列......我不確定這是否是正確的方法。獲取該字符串並將其附加到變量名稱之前
我的DB會看起來像:
--------------------------------
# | en_text | tr_text
--------------------------------
1 | English Text | Turkish Text
--------------------------------
這裏是我的代碼:
<?php
$get_lang = $_GET['language'];
if ($get_lang == 'tr') {
$lang = 'tr_';
} else if ($get_lang == 'en') {
$lang = 'en_';
}
$tr_text = 'Turkish Text'; // It will be stored in my DB
$en_text = 'English Text'; // It will be also stored in my DB
?>
<body>
<?php echo $lang.'text'; ?>
</body>
</html>
你需要[變量變量](http://php.net/manual/en/language.variables.variable.php)來實現這一點,而且應該避免這些。至於「恰當地」實施這種翻譯,這是一個已經廣泛討論的話題,並且存在幾種複雜的解決方案 - 您可能想要使用關鍵詞['i18n'和/或'L10n'](https://en.wikipedia .org/wiki/Internationalization_and_localization)在您的進一步研究。 – CBroe
$ field = $ lang.'text'; 從表中選擇$ field; – Scream
http://symfony.com/doc/current/components/intl.html –