首頁 >後端開發 >C++ >如何使用.RESX文件在C#類庫中本地化資源?

如何使用.RESX文件在C#類庫中本地化資源?

Patricia Arquette
Patricia Arquette原創
2025-01-29 19:06:10715瀏覽

How to Localize Resources in a C# Class Library Using .resx Files?

在 C# 中實現資源本地化

問題:

儘管嘗試過多種本地化方法,但仍無法實現預期的功能。問題出現在類庫中,目標是創建 .resx 文件,根據線程區域性返回相應的值。如何才能實現這一目標?

解答:

1. 添加資源文件:

右鍵點擊項目“屬性”,選擇“添加 -> 新建項...”,然後選擇“資源文件”,命名為“strings.resx”。這將作為默認資源文件。

2. 定義字符串資源:

.resx 文件中,創建一個具有有意義名稱的字符串資源(例如,名稱為“Hello”,值為“Hello”)。保存資源文件。

3. 添加系統引用:

包含以下命名空間的引用:

  • System.Threading
  • System.Globalization

4. 代碼示例:

執行以下代碼將“Hello”打印到控制台:

<code class="language-csharp">Console.WriteLine(Properties.strings.Hello);</code>

5. 創建其他資源文件(可選):

為了實現不同語言的本地化,可以使用特定語言代碼創建其他資源文件(例如,法語為“strings.fr.resx”)。添加相同的字符串資源,但使用翻譯後的值。

6. 操作 CurrentUICulture:

要切換本地化資源,請使用以下代碼:

<code class="language-csharp">Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("fr-FR");
Console.WriteLine(Properties.strings.Hello); // 输出: "Salut"</code>

7. 回退機制:

如果找不到特定區域性的資源文件,系統將回退到默認資源文件或更通用的資源文件。

8. 細粒度本地化:

為特定語言區域創建資源文件(例如,法國法語為“strings.fr-FR.resx”)。為該區域的唯一字符串添加資源,而共享字符串可以保留在更通用的資源文件中(例如,“strings.fr.resx”)。

以上是如何使用.RESX文件在C#類庫中本地化資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn