簡體   English   中英

在vsto加載項中本地化

[英]localisation in vsto add-in

這是在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");
}

混淆可能是因為有(5)種不同的方式來為桌面應用程序創建資源文件 程序集鏈接器al.exe )和資源文件生成器resgen.exe )是使用本地化資源時使用的主要工具。 Resgen.exe會將resx( XML )編譯成資源( 二進制 ),而al.exe會將資源( 二進制 )組合成附屬程序集( dll )。 通常為每個支持的文化中心和輻條定義衛星組件 可以更新附屬程序集,而無需重新編譯應用程序。


來自MSDN

您可以在資源文件中包含資源(如字符串,圖像或對象數據),以使其易於供應用程序使用。 .NET Framework提供了五種創建資源文件的方法

1.創建包含字符串資源的文本文件。 您可以使用資源文件生成器(Resgen.exe)將文本文件轉換為二進制資源(.resources)文件。 然后,您可以使用語言編譯器將二進制資源文件嵌入應用程序可執行文件或應用程序庫中,或者可以使用程序集鏈接器(Al.exe)將其嵌入到附屬程序集中。 有關更多信息,請參閱“文本文件中的資源”部分。

2.創建包含字符串,圖像或對象數據的XML資源(.resx)文件。 您可以使用資源文件生成器(Resgen.exe)將.resx文件轉換為二進制資源(.resources)文件。 然后,您可以使用語言編譯器將二進制資源文件嵌入應用程序可執行文件或應用程序庫中,或者可以使用程序集鏈接器(Al.exe)將其嵌入到附屬程序集中。 有關更多信息,請參閱.resx文件中的參考資料部分。

3.使用System.Resources命名空間中的類型以編程方式創建XML資源(.resx)文件。 您可以創建.resx文件,枚舉其資源,並按名稱檢索特定資源。 有關更多信息,請參閱以編程方式使用.resx文件主題。

4.以編程方式創建二進制資源(.resources)文件。 然后,您可以使用語言編譯器將文件嵌入應用程序可執行文件或應用程序庫中,也可以使用程序集鏈接器(Al.exe)將其嵌入到附屬程序集中。 有關更多信息,請參閱.resources Files部分中的參考資料。

5.使用Visual Studio創建資源文件並將其包含在項目中。 Visual Studio提供了一個資源編輯器,允許您添加,刪除和修改資源。 在編譯時,資源文件自動轉換為二進制.resources文件並嵌入應用程序集或附屬程序集中。 有關更多信息,請參閱Visual Studio中的資源文件部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM