多语言支持的最佳状态管理?

Posted

技术标签:

【中文标题】多语言支持的最佳状态管理?【英文标题】:Best state-management for multi language support? 【发布时间】:2011-11-01 00:47:52 【问题描述】:

我有一个支持多语言(en、de、it、fr、nl、sl、hr)的小型 Web 应用程序。许多用户在很短的时间内(填写他们的数据以获取互联网访问代码的时间)不断访问此应用程序。

我在设置类似于此线程的文化时遇到问题: InitializeCulture change language of domain

我知道该怎么做,只是我不确定要使用哪种状态管理。我想征求建议使用哪种方法。这些是我的想法:

会话 - 最简单的方式,更优雅,但它是服务器端,我有很多请求,所以我担心服务器会过载

Cookie - 易于实现并且是客户端,但有些用户在浏览器中禁用了 Cookie

QueryString - 在这个阶段实现起来并不容易,但它是客户端,可以轻松测试,因为应用程序只有 3 个表单(3 个 URL 用于添加查询字符串参数)

我想听听您的想法和建议。

提前谢谢你!

【问题讨论】:

【参考方案1】:

实际的持久性存储实际上取决于文化选择的范围/生命周期。例如,如果必须在会话中保留用户特定的选择,那么您可以使用数据库或持久 cookie,其中 cookie 将记住一台机器,而数据库将跨机器记住。检索(从数据库)将在需要时进行 - 并且该值可以缓存到 ASP.NET 缓存中(每个用户需要不同的键)或会话或视图状态(如果是单页应用程序)等。

如果您已经将会话状态用于其他用途,则不必太担心将其放入会话中。在这种情况下,它并没有真正消耗任何显着的内存。如果您有注销功能,那么您可以显式清除会话状态并释放那一点内存。如果您没有注销功能,则可以使用较小的会话超时值。

【讨论】:

是的,我使用会话状态作为 MAC 地址和重定向 URL 跟踪,所以会话状态应该没问题

以上是关于多语言支持的最佳状态管理?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Laravel 进行多语言数据库管理

App Languages 批量导入管理flutter多语言文案

App Languages 批量导入管理flutter多语言文案

App Languages 批量导入管理Android多语言文案

App Languages 批量导入管理Android(安卓)多语言文案

Tars--------企业级理论实践篇