在 MVVM 架构模式中正确实现本地化
Correct implementations of Localization within the MVVM architecture pattern
我是 Flutter 的新手,目前正在使用许多 FilledStacks 教程中描述的 MVVM 架构模式开发应用程序,但在决定在视图模型中管理上下文的最佳方式时遇到了问题。
我遵循 flutter 文档中的国际化教程来实现 i18n 和 l10n,这导致在需要本地化字符串时需要 BuildContext。
我目前正在将 Views 构建方法的上下文作为参数传递给使用本地化字符串的方法,例如 return 错误文本或警报对话框的方法,但这似乎不正确。
如果用户更改设备的语言,是否有更简洁的方法 return 来自视图模型的字符串而不将 BuildContext 作为参数传递,同时保持 "hot reload" 语言?
这个问题已在 Reddit 上为我解答,我只是想在这里补充一下,以防有人遇到类似问题。
基本前提是在使用没有上下文的方法时(例如在视图模型中)使用键。然后在上下文可访问时在视图中使用翻译函数。
我是 Flutter 的新手,目前正在使用许多 FilledStacks 教程中描述的 MVVM 架构模式开发应用程序,但在决定在视图模型中管理上下文的最佳方式时遇到了问题。
我遵循 flutter 文档中的国际化教程来实现 i18n 和 l10n,这导致在需要本地化字符串时需要 BuildContext。
我目前正在将 Views 构建方法的上下文作为参数传递给使用本地化字符串的方法,例如 return 错误文本或警报对话框的方法,但这似乎不正确。
如果用户更改设备的语言,是否有更简洁的方法 return 来自视图模型的字符串而不将 BuildContext 作为参数传递,同时保持 "hot reload" 语言?
这个问题已在 Reddit 上为我解答,我只是想在这里补充一下,以防有人遇到类似问题。
基本前提是在使用没有上下文的方法时(例如在视图模型中)使用键。然后在上下文可访问时在视图中使用翻译函数。