【问题标题】:localisation in vsto add-invsto 插件中的本地化
【发布时间】:2012-08-28 03:05:57
【问题描述】:

这是在 VSTO Word Addin 中实现本地化的正确方法吗?现在我只是遵守命名约定,将当前文化附加到它搜索的资源文件中。我已经阅读了足够多的不同材料来混淆,一种方法是使用 Resgen.exe 然后 Al.exe 生成 .dll 但我不明白为什么,它能够更新语言而无需重新编译?

System.Resources.ResourceManager resMgr;
System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
try
{
    // somehow I feel this isn't how it was meant to be? but it works
    resMgr = new System.Resources.ResourceManager("MyAddin.MyLocalisation." + ci, Assembly.GetExecutingAssembly());
    string title = resMgr.GetString("MyTitle");
}

【问题讨论】:

    标签: c# .net localization vsto


    【解决方案1】:

    混淆可能是因为有(5) different ways to create resource files for desktop appsAssembly Linker (al.exe) 和Resource File Generator (resgen.exe) 是处理本地化资源时使用的主要工具。 Resgen.exe 会将 resx (XML) 编译成资源 (binary),而 al.exe 将合并将资源 (binary) 放入附属程序集 (dll)。 Satellite assemblies are typically defined for each supported culture集线器和辐条)。无需重新编译应用程序即可更新附属程序集。


    来自MSDN

    您可以在资源文件中包含资源,例如字符串、图像或对象数据,以便您的应用程序可以轻松使用它们。 .NET Framework 提供了五种创建资源文件的方法

    1.创建一个包含字符串资源的文本文件。您可以使用资源文件生成器 (Resgen.exe) 将文本文件转换为二进制资源 (.resources) 文件。然后,您可以使用语言编译器将二进制资源文件嵌入到应用程序可执行文件或应用程序库中,也可以使用 Assembly Linker (Al.exe) 将其嵌入到附属程序集中。有关详细信息,请参阅文本文件中的资源部分。

    2.创建一个包含字符串、图像或对象数据的 XML 资源 (.resx) 文件。您可以使用资源文件生成器 (Resgen.exe) 将 .resx 文件转换为二进制资源 (.resources) 文件。然后,您可以使用语言编译器将二进制资源文件嵌入到应用程序可执行文件或应用程序库中,也可以使用 Assembly Linker (Al.exe) 将其嵌入到附属程序集中。有关详细信息,请参阅 .resx 文件中的资源部分。

    3.使用 System.Resources 命名空间中的类型以编程方式创建 XML 资源 (.resx) 文件。您可以创建 .resx 文件、枚举其资源并按名称检索特定资源。有关详细信息,请参阅以编程方式使用 .resx 文件主题。

    4.以编程方式创建二进制资源 (.resources) 文件。然后,您可以使用语言编译器将该文件嵌入到应用程序可执行文件或应用程序库中,也可以使用程序集链接器 (Al.exe) 将其嵌入到附属程序集中。有关详细信息,请参阅 .resources 文件中的资源部分。

    5.使用 Visual Studio 创建资源文件并将其包含在您的项目中。 Visual Studio 提供了一个资源编辑器,可让您添加、删除和修改资源。在编译时,资源文件会自动转换为二进制 .resources 文件并嵌入到应用程序程序集或附属程序集中。有关详细信息,请参阅 Visual Studio 中的资源文件部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 2016-09-25
      • 2011-07-21
      • 2019-01-24
      相关资源
      最近更新 更多