0

我正在开发一个关于使用多种语言的小项目。

我有三个资源文件

  1. MainForm.resx // 默认版本 => 英文
  2. MainForm.US.resx // 英文版

我定义 在此处输入图像描述

  1. MainForm.JP.resx // 日文版

我定义 在此处输入图像描述

我想获取每个变量的值(btnCancel,btnLogin,lbPassword,lbUsername,...)

现在,我愿意

  • 从 MainForm.US.resx,我构建到 MainForm.US.designer.cs(MainForm_US 类)
  • 从 MainForm.JP.resx,我构建到 MainForm.JP.designer.cs(MainForm_JP 类)
  • 我制作了另一个类 MainFormResource.cs。在这里,我将检查 Thread.CurrentThread.CurrentUICulture.Name 值
  • 如果等于“ja-JP”,我会从 MainForm.JS.designer.cs(MainForm_JP 类)中获得价值

  • 如果等于“en-US”,我会从 MainForm.US.designer.cs (MainForm_US 类)中获得价值

但如果我的项目很大,我会花更多的时间来做这件事。

我应该如何获取 lbUsername、lbPassword、...的值?

p/s:我在Visual Studio Ultimate 2012中使用Windows 窗体应用程序

4

1 回答 1

0

创建 RESX 文件时,您只需要激活根文件(在您的情况下为 MainForm.resx)上的自动代码生成。

Visual Studio 将生成包含RescourceManager.

卫星程序集也将自动生成。

因此,正如 NightOwl888 已经提到的,您应该阅读有关使用 Resx 文件和.NET 的全球化/本地化功能的文档

于 2015-03-06T09:42:50.947 回答