【问题标题】:visual c# internationalizationc#视觉国际化
【发布时间】:2013-05-22 17:50:16
【问题描述】:

来自 MSDN 的关于国际化的示例 (http://msdn.microsoft.com/en-us/library/aa330254%28VS.71%29.aspx) 对我不起作用。我用过这个sn-p

ResourceManager rm = new ResourceManager("Resources.Form1", this.GetType().Assembly);
this.Text = rm.GetString("this.Text");

但向我抛出与第一行相关的以下异常: System.Resources.MissingManifestResourceException 我需要知道为什么 ResourceManager 构造函数的第一个参数不好。我也尝试过“Form1”。资源文件名为 Form1.it-IT.resx 或 Form1.en-GB.resx 等。 感谢您的帮助

【问题讨论】:

    标签: c# internationalization


    【解决方案1】:

    如果您想使用资源中的字符串,可以执行以下操作:

    • article 中所述添加字符串到资源:
    1. 在解决方案资源管理器中选择项目后,在项目菜单上, 单击属性。

    2. 单击“资源”选项卡。在资源设计器上 工具栏,指向资源视图下拉菜单,单击箭头,然后 确保将其设置为字符串(这是默认设置)。设置网格 将出现,显示由该实例维护的字符串 资源设计师。

    3. 单击最后一行的名称列 网格,用星号 (*) 标记。

    4. 在“名称”列中,输入字符串的名称。

    5. 在“值”列中,输入要用作资源的字符串。
    • 在运行时获取资源:

      this.Text = MyNamspace.Properties.Resources.StringResourcesName;

    另一种方法是按照link中的说明进行操作

    【讨论】:

      【解决方案2】:

      你需要一个默认的资源文件,将Form1.en-GB.resx重命名为Form1.resx 这将是默认的,如果cultureinfo是IT,资源管理器会先查看Form1.it-IT.resx文件, 如果在 it-IT 版本中找不到密钥,则在 Form1.resx 文件中。

      【讨论】:

      • 我有 Form1.resx 文件和其他 resx 文件,但错误仍然存​​在。我直接在 Visual Studio 中创建了这些文件,更改了表单属性中的语言参数。
      猜你喜欢
      • 2013-03-22
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2015-08-31
      相关资源
      最近更新 更多