C# 什么是本地化.Net Compact Framework应用程序的最快/更好的方法?

C# 什么是本地化.Net Compact Framework应用程序的最快/更好的方法?,c#,.net,compact-framework,C#,.net,Compact Framework,我正在为Windows CE操作系统开发一个应用程序 我使用的是.Net Compact Framework 3.5 我想在我的表单上本地化我的控件文本,我正在寻找使用C#与compact framework兼容的最快方法 请用你的宝贵意见指导我如何做?视情况而定 通常,如果您只是将所有“UI字符串”放入resources.resx中,您就可以为每个区域性生成不同的resx,例如en GB或en US或fr。虽然谷歌上可能有更好的资源,但是可以找到一个粗略的概述 基本上,前提是用户将设备设置为他

我正在为Windows CE操作系统开发一个应用程序

我使用的是.Net Compact Framework 3.5

我想在我的表单上本地化我的控件文本,我正在寻找使用C#与compact framework兼容的最快方法

请用你的宝贵意见指导我如何做?

视情况而定

通常,如果您只是将所有“UI字符串”放入resources.resx中,您就可以为每个区域性生成不同的resx,例如en GB或en US或fr。虽然谷歌上可能有更好的资源,但是可以找到一个粗略的概述

基本上,前提是用户将设备设置为他们自己的区域性(例如法语的fr),然后当您的应用程序加载时,如果有fr fr的.resx文件,则将加载这些文件

需要注意的几个问题:

  • 为了有效地管理这些字符串,最好将它们全部打包到base.dll中。这意味着您需要编辑生成代码的工具。默认情况下,它将资源列为内部资源,而您需要这些资源是公共的。否则,您最终会得到大量的.resx文件,这些文件到处都是,很难管理

  • 要么全力以赴,要么一事无成。因此,如果您希望某人在设置其区域性时使用法语文本,这将修改与区域性相关的所有项目,包括格式和时钟方向

  • 您不能在运行时更改WinCE上的区域性。因此,如果你有一个需要改变文化的应用程序(就像我曾经用一个在爱尔兰和北爱尔兰之间移动的总线应用程序所做的那样),那么使用.resx一点用都没有,你必须运行自己的系统

另一个选择是推出您自己的本地化

如果你要提供广泛的文化特定的本地化,那么考虑你的日期、货币和文本比较的格式。仔细阅读,看看你需要记住什么样的事情。

视情况而定

通常,如果您只是将所有“UI字符串”放入resources.resx中,您就可以为每个区域性生成不同的resx,例如en GB或en US或fr。虽然谷歌上可能有更好的资源,但是可以找到一个粗略的概述

基本上,前提是用户将设备设置为他们自己的区域性(例如法语的fr),然后当您的应用程序加载时,如果有fr fr的.resx文件,则将加载这些文件

需要注意的几个问题:

  • 为了有效地管理这些字符串,最好将它们全部打包到base.dll中。这意味着您需要编辑生成代码的工具。默认情况下,它将资源列为内部资源,而您需要这些资源是公共的。否则,您最终会得到大量的.resx文件,这些文件到处都是,很难管理

  • 要么全力以赴,要么一事无成。因此,如果您希望某人在设置其区域性时使用法语文本,这将修改与区域性相关的所有项目,包括格式和时钟方向

  • 您不能在运行时更改WinCE上的区域性。因此,如果你有一个需要改变文化的应用程序(就像我曾经用一个在爱尔兰和北爱尔兰之间移动的总线应用程序所做的那样),那么使用.resx一点用都没有,你必须运行自己的系统

另一个选择是推出您自己的本地化


如果你要提供广泛的文化特定的本地化,那么考虑你的日期、货币和文本比较的格式。阅读上的内容,看看你需要记住哪些事情。

你可以让你的应用程序改变文化,你只是不能对操作系统改变的地区做出反应(当然,这并不完全正确)。例如,您可以在应用程序本身中选择语言,并根据该选择更改从中提取的resx。有一天,我应该在博客上详细介绍我是如何做到这一点的(而且也不必使用resx生成器工具!)你可以让你的应用程序改变文化,你只是无法对操作系统改变的地区做出反应(当然,这并不完全是真的)。例如,您可以在应用程序本身中选择语言,并根据该选择更改从中提取的resx。有一天,我应该在博客上详细介绍我是如何做到这一点的(而且也不必使用resx生成器工具!)