2011-05-26 15 views
6

मुझे अपने Wpf .NET 3.5 एप्लिकेशन को स्थानांतरित करने में सहायता चाहिए। मैं केवल अपने सिस्टम के लिए exe फ़ाइल देने जा रहा हूं जिसके साथ वह अपने उपयोगकर्ताओं के लिए सेटअप तैयार करेगा। मेरा ग्राहक स्थानीयकरण के लिए फाइलें जोड़ना चाहता है।स्थानीयकरण के लिए गतिशील रूप से फ़ाइलें जोड़ें C#

स्थानीयकरण की सामान्य विधि प्रत्येक भाषा के लिए .resx फ़ाइलों को बना रही है और वर्तमानयूकल्चर में भाषा सेट कर रही है। लेकिन चूंकि, वह संसाधन फ़ाइलों को बनाने के लिए resgen टूल का उपयोग नहीं कर सकता है, मैं स्थानीयकरण करने के लिए txt, excel, xml प्रारूप में फ़ाइलों को जोड़ने के लिए सबसे अच्छी विधि जानना चाहता हूं।

पीएस: स्ट्रीम के माध्यम से पढ़ना और कुंजी असाइन करना एकमात्र तरीका है?

उत्तर

4

यदि आप resgen टूल का उपयोग नहीं कर सकते हैं तो एक साधारण टेक्स्टफाइल बुद्धि कुंजी-मूल्य जोड़े सबसे आसान तरीका होगा। और यदि आप बस साधारण तारों के साथ रह रहे हैं तो आपको इसका उपयोग करना चाहिए। फ़ाइल को लोड करने के लिए सही फ़ाइल की पहचान करने के लिए नाम में भाषा के साथ डिफ़ॉल्ट सम्मेलन के बाद उन्हें नाम दें और खुद को एक कस्टम resourceManager लिखें जो स्टार्टअप पर या इन तक पहुंचने के लिए एक शब्दकोश में मांग पर लोड करता है।

संपादित करें:

मैं इस बारे में विवरण में थोड़ा अधिक जाना ...

मैं एक संसाधन प्रबंधक कि सभी इस्तेमाल किया resourcefiles के लिए स्थिर accessors है बनाना चाहेंगे जहां अभी फॉलबैक संसाधन स्थैतिक टाइप किया गया है। मुझे लगता है कि आपकी भाषा स्टार्टअप पर परिभाषित की गई है, इसलिए फ़ॉलबैक लोड करें और परिभाषित भाषा फ़ाइलों को प्रत्येक को और दोनों संसाधनों को इस संसाधन प्रकार के लिए टाइप किए गए स्थिर में लोड करें। गेटस्ट्रिंग ("नाम", संस्कृति) स्ट्रिंग लोड करने के लिए उपयोग करें। संसाधन संसाधन में संस्कृति के लिए आप लुकअप कर सकते हैं और यदि एक कुंजी गुम हो रही है तो स्थिर स्थिति में फ़ॉलबैक करें।

संपादित द्वितीय:

आप को वहाँ नेट पुस्तकालयों में से एक का उपयोग कर पाठ फ़ाइलें ज़िप कर सकते हैं खुला से किसी को रोकने के लिए और सामग्री को बदलने। अतिरिक्त सुरक्षा के लिए आप ज़िप पर एक पासवर्ड भी जोड़ सकते हैं। तो आप किसी भी ज़िप प्रोग्राम के साथ फ़ाइलों को फ़ाइलों को संशोधित करने की क्षमता के साथ समाप्त हो जाते हैं। निश्चित रूप से आप को फ़ाइल एक्सटेंशन भी बदलना चाहिए।

आशा इस

+0

@sra सही मदद करता है, जैसा कि आपने कहा, मैं सरल कुंजी-मान पेयर तार का उपयोग करने के लिए जा रहा हूँ, लेकिन संसाधनप्रबंधक भार केवल फाइलों .resource साथ? या यह .txt/.xml भी पढ़ सकता है? – Coder323

+0

@ कोडर 323 संसाधन प्रबंधक एम्बेडेड संसाधनों के साथ एक असेंबली की अपेक्षा करता है और अन्य सभी पर असफल हो जाएगा। एक प्रोजेक्ट में जो एक्सएमएल संरचना आप देखते हैं वह केवल कंपाइलर के लिए एक संदर्भ है जो संसाधनों को एम्बेड करने के लिए और कहां से उन्हें स्थिर एक्सेसर्स के साथ कक्षा में ढूंढना है। तो हाँ, आपको अपना खुद का लिखना होगा। लेकिन ऊपर वर्णित अनुसार आपके मामले में यह काफी सरल होना चाहिए। – sra

+0

@sra, मैं xml फ़ाइल को पढ़ने और नियंत्रण की सामग्री को असाइन करने के लिए कस्टम कोड लिख सकता हूं लेकिन क्या होगा यदि मेरे क्लाइंट का उपयोगकर्ता सरल xml फ़ाइल बदल सकता है? – Coder323

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