为什么Satellite Assembly不能在Winform应用程序中使用

时间:2011-12-25 09:16:09

标签: .net winforms c#-4.0 localization devexpress

我有一个winform应用程序,它使用它自己的本地化机制。它不使用卫星装配,我不知道为什么。是否有任何理由认为卫星组件不适合winforms应用程序本地化?

3 个答案:

答案 0 :(得分:1)

我做了以下步骤。

  1. 创建窗体表单应用程序
  2. 添加文件夹资源
  3. 添加新的Resource1.resx 添加一个项目
  4. 复制Resource1.resx并粘贴为Resource1.da-DK.resx
  5. 现在构建..如果你看看Debug文件夹,它包含目录“da-DK”,它是“da-DK”资源的卫星组件。
  6. 这种方式我在很多应用中使用过。

    此外,您已在特定文化中运行应用程序。

答案 1 :(得分:1)

使用卫星资源程序集是开发全球就绪应用程序的常用方法。要了解有关本地化的更多信息,请参阅MSDN中的Localizing Applications

检查DevExpress文档,并使用Satellite Assembly

对各种Windows应用程序进行本地化

你有没有在文件上检查这些:
Localizing DevExpress .NET Windows Forms Controls
Localizing Windows Forms
Improving Performance of Localized Forms

在这种背景下有一本名为.NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications的书。

答案 2 :(得分:1)

在大多数情况下,通过卫星装配进行本地化是最好的选择。这是一种标准做法,除非你有充分的理由不这样做,否则应该遵循。

创建自己的解决方案的充分理由:

  • 您的用户界面是动态的,文本通常会发生很大变化(即取决于客户)。在这种情况下,将可翻译资源和相应的翻译保留在数据库中是有意义的
  • 您正在与之合作的翻译人员并不知道关于XML和技术翻译的第一件事,因此让他们翻译resx文件太危险了。在这种情况下,您可能希望实现自己的解决方案,即在配置文件中进行翻译
  • 你是老板,你知道我比主题专家更好,你要纠正这个蹩脚的微软工程师实施。不是你当然是原创的开发者 - 通常是那些有着巨大自我的人或者患有非发明的综合症的人可能认为带来“更好”的解决方案是个好主意

对于应用程序使用非标准方法的真正原因,您可能需要询问原始开发人员(或可能知道答案的其他人)。根据我的经验,这将是上面列出的原因之一,通常是第三个原因。