我有一个自定义组件生成电子邮件简报。现在我想用用户的语言生成html。
但是如何在代码中访问用户语言文件?
使用
$lang->setLanguage( $language );
$lang->load();
不会吵架
由于
答案 0 :(得分:1)
如果在用户浏览您的网站时在前端生成电子邮件,您可以获得用户正在使用的语言:
$lang = JFactory::getLanguage();
$langTag = $lang->getTag();
echo $langTag; // for example, "en-GB" for English.
如果您的网站是多语言网站且用户使用其他语言而不是英语浏览,那么获得语言标记后,您可以使用该语言生成简报并发送。
如果您从后端发送简报,您可以获得此类用户的语言
$user = JFactory::getUser(USER ID HERE); // $user = JFactory::getUser(123);
$langTag $user->getParam('language', 'en-GB'));
echo $langTag;
用户可以在用户个人资料中更改他/她的语言,如果用户使用默认语言,$ langTag将为空,所以我们使用'en-GB'作为后备。
我希望这会对你有所帮助。
答案 1 :(得分:0)
包括
protected $autoloadLanguage = true;
在php中的组件类中。并使用语言文件。