Scala 创建导致解析时编译错误的隐式值
我试图在Play框架中解决i18n问题。I18n需要隐式Scala 创建导致解析时编译错误的隐式值,scala,playframework,implicit,Scala,Playframework,Implicit,我试图在Play框架中解决i18n问题。I18n需要隐式Lang实例从资源中读取消息。在正常情况下,Lang实例通过隐式转换从Request中提取。如果分数中没有请求,Lang成为defaultLang的Lang伴生对象 在我的应用程序中,我从不需要defaultLang。我想要正确的Lang,或者一个编译错误 我在考虑一些MyI18NSupporttrait,它应该以某种方式阻止defaultLang的解析。我会把它混入我的控制器 是否有任何方法可以创建隐式值,从而在解析时导致编译错误?您使用
Lang
实例从资源中读取消息。在正常情况下,Lang
实例通过隐式转换从Request
中提取。如果分数中没有请求
,Lang
成为defaultLang
的Lang
伴生对象
在我的应用程序中,我从不需要defaultLang
。我想要正确的Lang
,或者一个编译错误
我在考虑一些MyI18NSupport
trait,它应该以某种方式阻止defaultLang
的解析。我会把它混入我的控制器
是否有任何方法可以创建隐式值,从而在解析时导致编译错误?您使用的是哪个版本?我假设低于2.4,因为从2.4开始,您需要传递
消息
对象,而不是语言
。play.api.mvc.Controller
将不再提供该Messages
对象,这意味着您必须明确地混合I18nSupport
(它提供了从请求
到Messages
的隐式转换)。相反,您可以混合您自己的I18nSupport。您使用的是哪个版本?我假设低于2.4,因为从2.4开始,您需要传递消息
对象,而不是语言
。play.api.mvc.Controller
将不再提供该Messages
对象,这意味着您必须明确地混合I18nSupport
(它提供了从请求
到Messages
的隐式转换)。相反,您可以加入自己的I18nSupport。