假设我有一个数组。
$less_user_variables = array(
"bodyBackground" => array(
"value" => "#ffffff",
"description" => __( "Body background", AI1EC_PLUGIN_NAME ),
"tab" => "general",
"type" => "color",
),
我需要 i18n 描述。所以我把它包装成一个__()
电话。因此,当我创建 .pot 文件时,包括“身体背景”。现在假设我将数组保存到数据库,然后再检索它
$less_variables = get_option('less_variables');
我可以在描述中再次使用 _ () 来翻译它吗?我认为在运行时所有 _ () 所做的实际上是检查它获得的变量的翻译,因此
$description = __($less_variables["bodyBackground"]["description"], AI1EC_PLUGIN_NAME );
应该给我“身体背景”的翻译,对吗?__()
不能与变量一起使用的规则仅用于创建 .pot 文件,但在运行时它可以与变量一起使用,对吗?还是我应该每次都使用 $less_user_variables 原始数组?
(我认为)支持我想法的另一件事是
function __( $text, $domain = 'default' ) {
return translate( $text, $domain );
}
所以如果我传递一个变量或一个字符串,实际上没有任何变化。我对么?