获取字符串并将其附加到变量名称之前

时间:2015-10-18 13:43:17

标签: php

我正在尝试创建一个简单的多语言网站。 (数据稍后将存储在数据库中)基本上我会在我的表上使用以字符串开头的列,如tr_text和en_text ...我不确定这是否是一种正确的方法。

我的数据库看起来像那样:

--------------------------------
# | 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>

3 个答案:

答案 0 :(得分:2)

这不是一个好主意,你应该转向数组

lang_en.php:

<?php
    $lang = array('hi' => 'Hi',
                  'user' => 'User');

?>

lang_tr.php:

<?php
    $lang = array('hi'   => 'Hola',
                  'user' => 'bla bla bla');
?>

<强> anypage.php

<?php

 $lang= "tr";// or en
 include("lang_".$lang.".php");

echo $lang['hi']; //output Hi for en , and Hola for tr

答案 1 :(得分:0)

您应该将翻译存储在单独的表格中。

该表将存储类名,对象ID,字段名,语言字符串和转换。

你可以看一下教义可翻译如何运作,使用它,或者自己实现一些简单的东西。

答案 2 :(得分:-1)

考虑使用PHP的gettext();

http://www.onlamp.com/pub/a/php/2002/06/13/php.html