gpt4 book ai didi

breeze - 如何在 SPA 中实现多语言

转载 作者:行者123 更新时间:2023-12-01 15:23:36 24 4
gpt4 key购买 nike

我目前正在努力解决 SPA 中的多语言问题。

我想出了几个解决方案,比如为资源 resx 文件构建一个包装器,或者将所有标签保存在数据库中,但我想知道你们中是否有人找到了一些自动化这些步骤的解决方案。

是否有针对此问题的特定实践?

最佳答案

对于合理数量的文字,我建议将资源保存在数据库或服务器中的 .RESX 文件中。当用户登录或您检测到将使用的语言时,应用程序会请求文字并保存在翻译模块的集合或浏览器的 LocalStorage 中(这可能是大数据的好方法) .
然后这个模块可以有一些方法来检索消息,可能传递一个键。

使用此解决方案,您可以将此模块注入(inject)需要显示翻译文字并通过 View 访问它们的 View 模型中:

<p data-bind="text: resourceManager.get('M01')"></a>

对于需要传输大量本地化数据的大型应用程序,也许可以应用某种模块化,并且只加载每个模块/部分真正需要的资源。

我不认为向服务器发出重复请求以获取翻译后的文字是一个好习惯。 SPA 应该提供良好的用户体验,并且从服务器加载翻译后的文字可能是一个阻塞问题。文本不像图像,您可以在没有加载所有图像的情况下呈现页面,想象一下在没有文本的情况下呈现页面:o

无论如何,我认为最好的解决方案是将服务器保留为存储库并创建一个自定义 JS 模块,该模块负责在一次或多次加载中获取数据,并能够将其存储在客户端的某个位置。

关于breeze - 如何在 SPA 中实现多语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17587599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com