community.
我一直在寻找答案,但还不够接近这种情况
我有这样的代码(实际上工作正常):
array('desc'=>'Home')
它正在将其定义为文本(主页),但由于多语言站点,我宁愿将其用作PHP变量。使用语言包,我有一个变量,例如:
$lang['HOME'] = 'Home';
因此,根据所选语言,值会发生变化
换句话说,我需要数组将变量值作为元素
array('desc'=>'variablehere')
谁能告诉我我错过了什么?我尝试将其设置为变量,回声等其他方式。
多谢!
像这样?
$myArray = array('desc' => $variable);
或
$myArray = array(
'desc' => $desc,
'name' => $name
);
在您的情况下:
$lang = array('HOME' => $homeVariable);
使用多维数组。 例如,给定类似
$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'
改用翻译函数:
// 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
}