解决方法
正确的方法是(通过adjamaflip提到),通过语言文件.
Joomla的主要登录页面是通过’com_users’组件,尽管还有hbit提到的’mod_login’模块.这个过程对两者都有效,它们只有略微不同的文件和字符串来覆盖(你可能想要覆盖它们).
如果您查看任何组件或模块的模板,您会看到它们具有如下代码部分:
<?PHP echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?> <?PHP echo JText::_('COM_USERS_LOGIN_USERNAME_LABEL') ?>
这基本上是说’在这里插入WHATEVERSTRING的翻译文本’.这个翻译后的文本存储在相应的语言文件中,对于’com_users’组件,它将位于’/language/LANG/LANG.com_users.ini’中.LANG默认为’en-GB’,所以可能适合你在’/language/en-GB/en-GB.com_users.ini’中你会找到如下行:
COM_USERS_LOGIN_USERNAME_LABEL="User Name"
现在,您可以在那里编辑该文件.这将立即显示在您的网站上,并将正确处理多语言.但同样,这将无法在升级中幸存下来(如果Joomla发布了一个更新该语言文件的新版本,它将会破坏您的更改).
为了处理升级,他们在Joomla 1.6中添加了一个用于语言覆盖的新功能.您可以在“/language/overrides/LANG.override.ini”中将任何语言文件(任何组件/模块/等)的替换添加到单独的覆盖位置.例如,添加以下行:
COM_USERS_LOGIN_USERNAME_LABEL="Usr"
现在你已经覆盖了那个语言字符串.添加“MOD_LOGIN_VALUE_USERNAME”等行,以根据需要覆盖登录模块和其他字符串.
现在,如果您升级Joomla,您将对这些登录模板进行任何更改,但不会丢失文本更改.您可以为您的网站提供的每种语言应用相同的流程,覆盖将愉快地生活在一起.这也适用于第三方组件和模块,只要它们使用’JText :: _()’进行字符串输出 – 它们应该是.
原文地址:https://www.jb51.cc/html/224732.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。