首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分发本地化的winforms应用程序

分发本地化的winforms应用程序
EN

Stack Overflow用户
提问于 2009-06-25 17:38:39
回答 1查看 437关注 0票数 1

这与我今天的早期帖子有关:link text

所以现在我有了两种不同本地化的演示winforms应用,一种是英语,一种是西班牙语。现在假设我有一个很大的应用程序,假设它支持15种不同语言的本地化。在上一篇文章中,有人建议我在初始化表单时添加几行代码来设置本地化。目前我正在使用click once来部署我的应用程序。我正在试图找到一种方法来部署,而不需要15种不同风格的应用程序。有没有办法查看当前用户的本地化,如果它与我编写屏幕时使用的语言之一相匹配,否则就使用默认语言?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-25 17:58:31

.NET框架的内置本地化系统已经处理了这种后备情况。您只需安装用于本地化窗体和控件的附属DLL,然后,如果正确的DLL与用户的区域设置匹配,.NET将使用它,否则它将回退到下一个相关的父区域设置。例如,如果您的应用程序的默认语言是en-US,但您提供了en-GB转换和en转换,则回退是:

en-GB->en->en-US

也就是说,当en-GB不可用时,它会查找en,如果不存在,则使用缺省值en-US。

因此,在分发时,您可以只分发主要的en-US应用程序,然后为特定语言提供附加的附属DLL,例如语言包。有一个属性SatelliteContractVersionAttribute,它允许您的主应用程序程序集指示它想要的附属版本,这使您的本地化能够跨程序集版本工作(例如,如果您的程序集版本随着内部版本的增加而增加-您可以有效地忽略内部版本号)。

MSDN有很多关于全球化和本地化的信息,以及它是如何工作的,甚至在ClickOnce部署的上下文中也是如此。检查Globalizing Windows Forms section

当然,如果您选择不依赖.NET系统来支持全球化产品,那么您将不得不想出适合您选择的方向的东西。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1045249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档