C 支援多種語言

2022-03-05 16:44:48 字數 1400 閱讀 6847

通過resource檔案建立本地化。

net 資源檔名(這裡是resource.resx)由根名稱(即resource),本地語言名稱(預設情況下還沒有)及副檔名組成,在讀取資源時,資源管理器會根據當前環境決定需要的本地語言名稱,例如英語,然後試圖以全名讀取資源,美國英語的本地名稱為en-us(更多語言名稱可以從msdn中查詢cultureinfo資訊得到),那麼資源全名為resource.en-us.resx,如果存在該檔案,則載入該檔案作為資源檔案,如果沒有則使用預設值resource.resx,確定好資源檔案後開始查詢指定的資源(例如"string1"),如果在本地資源檔案中沒有找到,則向上查詢上一級的本地資源檔案,最終找到根名稱resource為止

1.分別建立resource.resx,resource.en-us.resx,resource.zh-chs.resx檔案;其string1值分別對應為"預設語言」,「英文","中文"。

目前發現:

1.1.必須在程式根目錄,不能放在自己建立的資料夾裡;

1.2.必須有resource.resx檔案(引用的時候就是用這個檔案的名字,缺少會引用不了),也就是說雖然系統預設語言中文,已建立中文(resource.zh-chs.resx),

但也不能沒有resource.resx檔案。

1.3.其他語言有的字串變數名,在resource.resx必須存在,因此使用的時候先完整在resource.resx建立需要漢化或英語變數名。

2.在不同語言建立相同的字串變數,對應不同語言value值。字串變數命名要視窗id名字+字串變數名。resx檔案其實就是xml檔案,用記事本可以開啟編輯。 

3.程式會隨著作業系統語言而保持相同。

以下**手動控制使用語言種類。

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

globalizationtest

private

void form1_load(object

sender, eventargs e)

private

void btnchiness_click(object

sender, eventargs e)

private

void btnenus_click(object

sender, eventargs e)

}}

在App Code中使用多種語言

注意 給乙個程式集設定乙個強名稱,首先必須獲得乙個公開 私有金鑰對。通過使用強名稱 strong name 工具 sn.exe 可以獲得這樣乙個金鑰對。強名稱工具是我們可以在.net framework的安裝路徑中發現的sdk binary之一。金鑰對檔案通常有乙個.snk副檔名。可以將該檔案儲存到...

多種語言實現氣泡排序演算法

相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處 public static void bubblesort int arr for int i 0 i arr.length 1 i void bubble sort int a,int n void bubble sort int...

將C 看作多種語言的聯合體

將c 看作多種語言的聯合體 起初,c 僅僅是增補了物件導向特性的 c 語言。甚至 c 原始的名稱都叫做 使用類的c 語言 這可以很明顯地反映出這一繼承關係。隨著c 逐漸成熟,它變得更加豐富多彩,更加大膽前衛,它開始採納一些與 使用類的 c 語言 不同的程式設計策略。在構建函式時為達到不同目標,c 的...