Tus*_*ood 5 asp.net localization saas internationalization multi-tenant
额外的复杂性:租户应该能够编辑本地化的内容.因此,如果托管应用程序有10个租户,每个租户支持5种语言,我们最终可能会有50个单位的翻译内容.
鉴于上述情况,请建议理想的方法.
下面列出的是过去使用的方法(对于我的其他应用程序)以及它们现在不相关的原因:
选项1:ASP.Net资源文件
问题:每个可本地化资源(.aspx页面)只创建一个语言文件.因此,每个租户翻译都不可能有一个Home.aspx.resx文件.虽然resx键可以修改为包含TenantId(lblFirstName_44)并存储在同一个resx文件中,但是这样很难维护,我们最终可能会遇到大文件.
选项2:在专用数据库表中存储多语言内容(标签,消息,MenuItems)
问题:这在过去运行良好(在最终用户需要动态更新可本地化内容的情况下).早期的解决方案在很大程度上依赖于缓存数据,在多租户解决方案的情况下,每个租户需要对每页进行大量缓存.也可以按内容类型(标签,消息,MenuItems)完成缓存
另一种方法是实现自定义资源提供程序(通过构建.Net的现有提供程序)
选项3:第三方开源解决方案,如FairlyLocal
问题:虽然实现起来非常简单,但是存在与.resx文件相同的缺点 - 不是为了允许最终用户修改内容和维护同一文件的多个版本(租户)而设计的.
注意:如果没有找到其他解决方案,我们可能会选择选项2
| 归档时间: |
|
| 查看次数: |
1368 次 |
| 最近记录: |