社区。 P>
我一直在寻找答案,但与这种情况不够接近
我有这样的代码(实际上工作正常):
array('desc'=>'Home')
它正在将其定义为文本(Home),但我宁愿将其用作多语言网站的PHP变量。使用语言包我有一个变量:
$lang['HOME'] = 'Home';
因此,根据所选语言,值会更改
换句话说,我需要数组将变量值作为元素
array('desc'=>'variablehere')
有人可以告诉我,我错过了什么吗?我试图将其设置为变量,如echo和其他方式。
非常感谢!
答案 0 :(得分:1)
喜欢这个吗?
$myArray = array('desc' => $variable);
或
$myArray = array(
'desc' => $desc,
'name' => $name
);
在你的情况下:
$lang = array('HOME' => $homeVariable);
答案 1 :(得分:0)
使用多维数组。例如,给出类似
的内容$lang = 'en';
$key = 'desc';
确切的数组结构取决于您的需求,但它可以主要通过语言或键转换:
语言基础:
$translations = array(
'en' => array('desc' => 'foo'),
'fr' => array('desc' => 'bar')
);
$text_to_display = $translations['en']['desc']; // produces 'foo'
或
$translations = array(
'desc' => array(
'en' => array('desc' => 'foo'),
'fr' => array('desc' => 'bar')
)
)
$text_to_display = $translations['desc']['fr']; // produces 'bar'
答案 2 :(得分:0)
改为使用翻译功能:
// It can be key-based, i.e., t('home_string'), or literal like below
t('Home');
function t($text, $language = NULL)
{
if (!$language) {
// determine visitor's language
}
// look up translation in db/file
// if none found just return $text as is
}