2009-12-12 12 views
6

मैं सी # में लिखे गए ऐप को स्थानीयकरण पर काम कर रहा हूं।.NET वैश्वीकरण और सैटेलाइट डीएलएल का

हालांकि, आवेदन अंततः जो निर्देशिका का भार का मतलब भाषाओं के काफी संख्या, की आवश्यकता होगी:

सब कुछ अच्छी तरह से काम करने, उपग्रह संसाधन विधानसभाओं का उपयोग कर प्रत्येक प्रपत्र की स्ट्रिंग का अनुवाद करने (http://msdn.microsoft.com/en-us/library/y99d1cd3%28VS.71%29.aspx इस ट्यूटोरियल के अनुसार) लगता है मेरी कामकाजी निर्देशिका में (यानी/zh-tw,/zh-cn,/fr-FR,/ja-JP, आदि)। मैं इसे सभी को एक/भाषा या/संसाधन उपनिर्देशिका के भीतर ढूंढकर थोड़ा सा साफ़ करना चाहता हूं (दूसरे शब्दों में, "उपग्रह असेंबली के लिए आधार पथ" सेट करें)। लेकिन मैंने उच्च और निम्न खोज की है, और इन उपग्रह असेंबली के स्थान को अनुकूलित करने के किसी भी तरीके को खोजने में असमर्थ रही है।

किसी भी सुझाव की सराहना की जाएगी!

उत्तर

11

मिले करना और भी आसान समाधान - app.config में:

<configuration> 
<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <probing privatePath=".;Lang" /> 
    </assemblyBinding> 
</runtime> 
</configuration> 

तो फिर तुम सिर्फ "लैंग" subdir में उन सभी dirs टॉस कर सकते हैं और यह सही बॉक्स से बाहर काम करेंगे! एक के बाद निर्माण घटना भी उपयोगी होता है संकलन के बाद वहाँ में उन्हें ऑटो कॉपी :)

1

IMHO, मैं कुछ भी यहां नहीं बदल जाएगा। .NET में स्थानीयकरण के लिए एक मानक तंत्र है, जो उपग्रह डीएलएस और इन उपनिर्देशिकाओं पर आधारित है। यदि आप स्थानीयकरण के लिए टूल का उपयोग करते हैं, उदाहरण के लिए। पासोलो, यह वास्तव में इस संरचना का समर्थन करेगा और कुछ भी नहीं।

बहुत सारी उपनिर्देशिकाएं होंगी ... तो क्या? बाकी सब कुछ काफी जटिल होगा।

0

(यानी * .resx)/संसाधन के लिए फ़ोल्डर अपने सभी संसाधन फ़ाइलों जोड़ें और नीचे के रूप में संसाधनप्रबंधक की वस्तु बनाने

सिस्टम। स्रोत। संसाधन प्रबंधक आरएम = नई प्रणाली। स्रोत। संसाधन प्रबंधक ("ApplicationName.Resources.MyResource", विधानसभा.GetExecutingAssembly());

यहां लैंग डी-डे के लिए कहें कि आपकी रेक्स फ़ाइल को MyResource.de-DE.resx

के रूप में नामित किया जाएगा
संबंधित मुद्दे