我试着用本地化包来本地化一个抖动中的字符串.问题是需要我翻译的地方.它与UI无关,而是在我的模型中的某个深处,在那里我无法访问BuildContext.还有没有其他可能性可以继续使用翻译功能?

// I don't have a context variable here
MyLocalizations.of(context).trans("foo")

推荐答案

不,没有其他方法,因为它是使用InheritedWidget存储的,而InheritedWidget是构建树的一部分,因此只能通过引用它(BuildContext)来访问.
您需要将您的context传递到模型中深处的某个位置.

Flutter相关问答推荐

如何从外部控制有状态窗口小部件本身?

'Flutter的无效常数值错误

如何使用flutter_local_notification包处理通知操作?

为什么Spotify Auth API返回400,而";code_verier不正确?

无法构建AndroidBundle 包或iOS等

Flutter:无法构建iOS应用程序-找不到PigeonParser.h文件

带有附加图像的ListTile

打开键盘时屏幕组件会被压扁

Flutter:使用不包含导航器的上下文请求导航器操作

Flutter:我应该使用哪种应用内购买服务?

如何将取消图标放置在右上角

Flutter列顶部和底部出现不必要的边距问题

splash_screen 没有被推送到登录页面

Flutter ImagePicker - 在 onPressed 中异步获取图像显示 lint 警告

如何防止键盘将内容向上推?

Flutter RIverpod 奇怪地改变状态

graphql_flutter 错误:非抽象类GraphQLWebSocketChannel缺少实现

Getx Flutter 在更新值时抛出空错误

如何获取 android 和 Ios (flutter) 的 CircularProgress 指示器?

如何判断 text.contains() 是否包含多个值