2013-08-20 75 views
0

我目前正在C#中構建一個支持法語,英語和西班牙語的應用程序。我正在使用資源文件(.resx)來存儲我的文本,下面是我在網上找到的this method。現在,我擁有的資源文件如下:TextLabels.resx,TextLabels.en.resx,TextLabels.fr.resx和TextLabels.es.resx。C語言中的多語言應用程序#

我用下面的方法來我的資源鏈接到我的表格:

manager = new ResourceManager("MyProject.TextLabels", typeof(MyForm).Assembly); 

時,我選擇了一個新的語言來更改標籤,我創建了一個刷新方法改變了我的容器的使用文本屬性該方法:

Text = manager.GetString("MY_STRING_VARIABLE", culture); 

另外,我確保改變使用的培養時用戶點擊期望使用以下方法:

culture = CultureInfo.CreateSpecificCulture("es"); //changes the culture to spanish 

所以這裏是我的問題:我使用安裝在英語(我不知道它是否重要)的64位Windows 7計算機,並且此方法正常工作,我的所有標籤都更改爲所需的語言。當我嘗試在我的同事的計算機上使用我的項目時發生問題,該計算機是法語版的Windows 7 32位計算機。使用他的電腦,它看起來好像程序(我用Visual Studio 2012編譯)只能找到默認的資源文件(TextLabels.resx)。所以我在這裏感到茫然,想知道1.是32位系統還是法語Windows安裝是我的問題的原因,還是其他原因,我如何才能使我的應用程序在他的機器上工作?

+1

我想我們需要看一些更多的代碼來發現保持你的應用程序加載資源文件而不是默認的點。你是否還在另一臺64位的計算機上進行了測試,使用法語版的Windows 7或32位英文版? – Renan

+2

另外,如果您使用的是本地化的二進制文件,請確保您的同事在他的電腦上安裝了它們。 – Brian

+0

出於測試目的,請確保您在Windows中具有相同的區域設置(例如英語美國)。這在過去造成了很多問題,並且有一套通用的設置幫助診斷問題。 – SolarBear

回答

0

如果您正在生成本地化的二進制文件,請確保它們隨應用程序一起部署。

他們將在/bin/Debug/bin/Release文件夾中。