我想省略创建无数if/else
语句并改为使用预定义变量(或常量)。
DEFINE('LANG',$current_lang);
返回pl
或en
。现在我有两个变量:
$pl = getid('o-nas');
$en = pll_get_post($pl, 'en');
如何使用LANG
打印我之前定义的那个?或者有更好的解决方案吗?请注意,我会有多个此类事件的案例,但LANG
将始终是其中之一。
答案 0 :(得分:2)
此案例的变量语法是:
define('FOO', 'bar');
$foo = 'baz';
$bar = 42;
echo ${FOO}; // 42
请注意,这不一定是i18n的最佳方法,但它可以回答您的直接问题 改进这一点的第一步可能只是为启动器使用数组:
$content = [
'en' => ..,
'pl' => ..
];
echo $content[LANG];
这里的意图和语法更加明显和可读。