具有不同 DLL 的 MVC 全球化

MVC globalization with different DLLs

我按以下方式设计了我的 MVC 应用程序:

-Portal.UI ( hold all the Views and controllers details)
    - App_GlobalResources
        - Global.en-GB.resx
        - Global.ar-SA.resx
-Portal.Models ( hold all classes and Entity framework DbContext code first)
  - Resources
      - Global.en-GB.resx
      - Global.ar-SA.resx
-Portal.Services ( used for accessing different internal web services)

客户要求将应用程序制作成多语言以支持不同的语言

所以我已将资源文件添加到 Portal.UI 并将视图标题和按钮转换为使用这些资源文件 此外,我将资源文件添加到 Portal.Models 项目,并为每个使用的 属性

使用 [Display(Name="Name",typeof(Resources.Global)]

现在我怎么知道 Project.Models 使用哪个资源文件?

我的意思是如果我将区域性更改为 ar-SA 例如在 Portal.UI 中,它也会自动反映到 Portal.Models 或者我必须编写代码来实现这个?

任何建议将不胜感激

根据 UICulture(而非文化)选择的资源文件。假设 Portal.Models 项目是您部署的一部分,并作为参考添加到您的 Portal.UI,您唯一应该做的就是在 Portal.UI.[=11 中设置正确的 UICulture =]

Useful link that shows the difference between Culture and UICulture