小编Tus*_*ood的帖子

ASP.Net多租户SaaS应用程序中的本地化(i18N)

问题场景:

在基于SaaS的应用程序中实现ASP.Net本地化.

额外的复杂性:租户应该能够编辑本地化的内容.因此,如果托管应用程序有10个租户,每个租户支持5种语言,我们最终可能会有50个单位的翻译内容.

鉴于上述情况,请建议理想的方法.

下面列出的是过去使用的方法(对于我的其他应用程序)以及它们现在不相关的原因:

选项1:ASP.Net资源文件

问题:每个可本地化资源(.aspx页面)只创建一个语言文件.因此,每个租户翻译都不可能有一个Home.aspx.resx文件.虽然resx键可以修改为包含TenantId(lblFirstName_44)并存储在同一个resx文件中,但是这样很难维护,我们最终可能会遇到大文件.

选项2:在专用数据库表中存储多语言内容(标签,消息,MenuItems)

问题:这在过去运行良好(在最终用户需要动态更新可本地化内容的情况下).早期的解决方案在很大程度上依赖于缓存数据,在多租户解决方案的情况下,每个租户需要对每页进行大量缓存.也可以按内容类型(标签,消息,MenuItems)完成缓存

另一种方法是实现自定义资源提供程序(通过构建.Net的现有提供程序)

选项3:第三方开源解决方案,如FairlyLocal

问题:虽然实现起来非常简单,但是存在与.resx文件相同的缺点 - 不是为了允许最终用户修改内容和维护同一文件的多个版本(租户)而设计的.

注意:如果没有找到其他解决方案,我们可能会选择选项2

asp.net localization saas internationalization multi-tenant

5
推荐指数
1
解决办法
1368
查看次数

Silverlight 5的Microsoft Expression Blend Preview已过期.接下来是什么?

我们的版本的Silverlight 5的Microsoft Expression Blend的预览已经6月30日到期,有可在网上购买许可选项.

以下链接指出Blend现在是Visual Studio 2012的一个组成部分,但是由于我们当前受限制的开发和发布周期,我们无法将整个企业级应用程序升级到VS 2012.所以,我的问题是:

  1. 可以在线购买Blend(SL 5预览版)许可吗?如果是的话,在哪里?

  2. 如果没有,那么如何在不升级到VS 2012的情况下继续我们基于Blend的开发?

blend microsoft-expression expression-blend

5
推荐指数
1
解决办法
1674
查看次数