2009-09-09 13 views
6

के पीछे मैं सी # में एक नेट आवेदन है और मैं की तरह एक फ़ाइल संरचना कुछ है: मैं प्रोग्राम के भाषा है जो आवेदन बताता है परिवर्तित करने के लिए कोशिश कर रहा हूँप्रोग्राम परिवर्तन संसाधन फ़ाइल भाषा संहिता में (resx)

App_LocalResources 
- MyPage.aspx.resx 
- MyPage.aspx.fr.resx 
MyPage.aspx 
MyPage.aspx.cs 

उपयोग करने के लिए कौन सी resx फ़ाइल। मैं इसे फाइल के पीछे कोड (MyPage.aspx.cs) में करना चाहता हूं।

मैं OnPreRender, Page_Init, और Page_Load घटनाओं में इन दोनों की कोशिश की है:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); 
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); 

और यह काम नहीं करता। पृष्ठ अभी भी अंग्रेजी भाषा दिखाता है।

<h3><asp:Literal runat="server" Text="<%$ Resources:pageTitle %>" /></h3> 

ध्यान दें कि मैं ब्राउज़र की भाषा की परवाह नहीं कर सकते हैं: MyPage.aspx फ़ाइल इस है। इसे इस पर अधिक सवारी करना चाहिए। मैं इस समाधान के लिए वेब पर कोई फायदा नहीं उठा रहा हूं। सभी उदाहरण भाषा को स्विच करने के तरीके को दिखाते हैं जिस तरह से मैंने पहले ही कोशिश की है (ऊपर) हालांकि यह संसाधन फ़ाइल को प्रभावित नहीं करता है। कोई विचार?

उत्तर

11

आपको प्रारंभिक संस्कृति विधि को ओवरराइड करना होगा और अपना कोड वहां रखना होगा। उदाहरण के लिए:

protected override void InitializeCulture() 
{ 
    base.InitializeCulture(); 
    System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA"); 
    System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA"); 
} 

आशा इस मदद करता है

+1

मार्टिनबी आपके पास मेरा प्रभावशाली धन्यवाद है। या तो मैं गलत शर्तों से खोज रहा था या इस ऑनलाइन के बारे में बहुत कम जानकारी है। यह पूरी तरह से काम किया। मुझे खुशी है कि भविष्य में लोगों के उत्तर की तलाश में यह एसओ पर होगा। धन्यवाद! – Sherri

0

इस

http://www.west-wind.com/presentations/wwDbResourceProvider/

में लग सकता है मैं इसे इस्तेमाल नहीं किया है लेकिन मैं अन्य कोड है कि रिक लिखा है का इस्तेमाल किया है और यह शीर्ष था निशान।

संबंधित मुद्दे