目前我正在与Smarty合作并忙于翻译。
我正在使用配置文件进行翻译,但我找不到收集所有不在我的配置文件中的变量的方法。当我的配置文件中没有翻译时,输出为空白。
我的配置文件如下:
register = "Registreren"
username = "Gebruikersnaam"
password = "Wachtwoord"
login = "Inloggen"
在PHP中我使用:
$this->smarty = new Smarty();
$this->smarty->configLoad(THEME_DIR . "/translations/nl.conf");
$this->translations = $this->smarty->getConfigVars();
echo $this->translations["username"]; // output: Gebruikersnaam
我可以在我的HTML中使用:
{#password#}
{#username#}
{#password#}
{#login#}
但是当我想要输出一个尚未翻译的var时:
{#logout#}
我的结果是空白的。
有没有人知道如何使用默认功能?或者可能将未找到的var添加到我的配置文件中?或者至少,显示var名称而不是任何内容。
答案 0 :(得分:1)
对于每个变量,有一种方法不需要使用| default,但它需要对其中一个核心文件稍作修改。
在smarty / sysplugins / smarty_internal_data.php的第340行
替换
return null
通过
return "#$variable#";
在此之后,未在conf文件中定义的所有变量将显示为#name#(即这是#password#)。
如果由于某种原因你想要一个变量为空,只需在conf文件中将其定义为
variable = ""
答案 1 :(得分:0)