我需要将应用程序的当前文化更改为th-TH。我尝试创建以下类型的对象,并打算将其分配给当前线程的CurrentCulture属性。
System.Threading.Thread.CurrentThread.CurrentCulture =
new System.Globalization.CultureInfo("en-US");
但是我使用的.NET Compact版没有可用的CurrentCulture属性在System.Threading.Thread.CurrentThread属性中。
有没有办法可以做到这一点?
编辑: 我可以更改移动设备的区域设置,然后运行应用程序时,我能够从正确的资源文件中获取正确的文本。
但是,当我使用安装程序安装应用程序时,我无法获得正确的资源文件。
这是我所做的。
1. 我创建了安装程序,并将本地化资源、主输出以及内容文件包括在文件系统目录中的应用程序文件夹中。 2. 然后我在调试模式下构建它,生成所需的Cab文件。 3. 我将文件传输到我的设备上,然后运行cab文件,它显示安装成功。 4. 当我运行应用程序时,它只显示英语语言的字符串,而不管设备上的区域设置如何(但是当我直接在Visual Studio中选择设备并部署应用程序时,在Debug模式下运行相同的应用程序时,它会显示来自语言资源的正确字符串)。
我还验证了所需文件夹(例如fr-CA、th-TH等)是否被创建在我的应用程序的.exe文件所在的同一目录中。