0
翻譯有問題,如果翻譯缺失prestashop正在返回空字符串,而不是關鍵字。 有沒有人知道在控制器中使用'l'方法的位置?Prestashop 1.6升方法
$this->l('string', 'mod'); //This will output '' if string is not translated.
我要修改的方法,並使其返回鍵,如果該值是空的,但我不能找到它。
翻譯有問題,如果翻譯缺失prestashop正在返回空字符串,而不是關鍵字。 有沒有人知道在控制器中使用'l'方法的位置?Prestashop 1.6升方法
$this->l('string', 'mod'); //This will output '' if string is not translated.
我要修改的方法,並使其返回鍵,如果該值是空的,但我不能找到它。
我假設你指的是AdminController,因爲它是唯一使用該功能的人。它使用的功能:
protected function l($string, $class = null, $addslashes = false, $htmlentities = true)
{
if ($class === null || $class == 'AdminTab') {
$class = substr(get_class($this), 0, -10);
} elseif (strtolower(substr($class, -10)) == 'controller') {
/* classname has changed, from AdminXXX to AdminXXXController, so we remove 10 characters and we keep same keys */
$class = substr($class, 0, -10);
}
return Translate::getAdminTranslation($string, $class, $addslashes, $htmlentities);
}
在你的情況下,它會叫翻譯:: getAdminTranslation( '串', '國防部',假,真)
在翻譯:: getAdminTranslation 我們:
[$類$鍵]...
$string = preg_replace("/\\\*'/", "\'", $string);
$key = md5($string);
if (isset($_LANGADM[$class.$key])) {
$str = $_LANGADM[$class.$key];
} else {
$str = Translate::getGenericAdminTranslation($string, $key, $_LANGADM);
}
...
既然不會有$ _LANGADM,它會調用:
$str = Translate::getGenericAdminTranslation($string, $key, $_LANGADM);
你的情況$ str = Translate :: getGenericAdminTranslation('string',md5('string'),$ _LANGADM);
在那裏,我們有:
...
if (isset($lang_array['AdminController'.$key])) {
$str = $lang_array['AdminController'.$key];
} elseif (isset($lang_array['Helper'.$key])) {
$str = $lang_array['Helper'.$key];
} elseif (isset($lang_array['AdminTab'.$key])) {
$str = $lang_array['AdminTab'.$key];
} else {
// note in 1.5, some translations has moved from AdminXX to helper/*.tpl
$str = $string;
}
return $str;
所以,在默認情況下,如果沒有鍵被找到,返回試圖翻譯相同的字符串。所以不需要改變功能。
另一方面,確保將字符串轉換爲空字符串。您還可以調試這些函數以確保您的類是正確的,並且存儲相應翻譯的文件沒有這些字符串的空翻譯。
我只能添加文件的位置:classes/Translate.php – nikksan
還有一個問題。如果翻譯缺失而不是重新調用密鑰,返回空字符串是不是很奇怪? – nikksan
我沒有理解第一個評論。但正如我所遇到的空弦一樣。 lang文件以某種方式將翻譯保存爲空白字段。例如:$ _LANG ['404_d0fbda9855d118740f1105334305c126'] =''; – sadlyblue