0

我目前正在用 C# 构建一个支持法语、英语和西班牙语的应用程序。我正在使用资源文件(.resx)按照我在网上找到的这种方法存储我的文本。现在,我拥有的资源文件如下:TextLabels.resx、TextLabels.en.resx、TextLabels.fr.resx 和 TextLabels.es.resx。

我使用以下方法将资源链接到我的表单:

manager = new ResourceManager("MyProject.TextLabels", typeof(MyForm).Assembly);

为了在选择新语言时更改标签,我创建了一个刷新方法,使用以下方法更改容器的文本属性:

Text = manager.GetString("MY_STRING_VARIABLE", culture);

另外,我确保使用以下方法更改用户单击所需的文化时使用的文化:

culture = CultureInfo.CreateSpecificCulture("es"); //changes the culture to spanish

所以这是我的问题:我使用以英语安装的 64 位 Windows 7 计算机(我不确定它是否重要)并且这种方法工作正常,我所有的标签都以所需的语言进行了更改。当我尝试在同事的计算机上使用我的项目时会出现问题,该计算机是法语的 Windows 7 32 位计算机。使用他的计算机,看起来程序(我用 Visual Studio 2012 编译的)只能找到默认资源文件(TextLabels.resx)。所以我在这里不知所措,想知道 1. 32 位系统或 Windows 的法语安装是我问题的原因还是其他原因,我怎样才能让我的应用程序在他的机器上运行?

4

1 回答 1

0

如果您正在生成本地化的二进制文件,请确保它们与应用程序一起部署。

它们将位于/bin/Debug/bin/Release文件夹中。

于 2013-08-21T18:51:09.200 回答