2013-01-18 42 views
5

मेरे पास बेस भाषा अंग्रेजी के साथ WinForms एप्लिकेशन है। मैंने जर्मन में एक फॉर्म स्थानीयकृत किया। जर्मन में कुछ शब्द उनके अंग्रेजी समकक्षों से अधिक लंबा हैं इसलिए मुझे फॉर्म के जर्मन संस्करण पर कुछ नियंत्रणों को स्थानांतरित करने की आवश्यकता थी। समस्या यह है कि जब मैं अंग्रेजी नियंत्रण को स्थानांतरित करता हूं तो जर्मन स्थानीयकरण आंदोलन को प्रतिबिंबित नहीं करता है (जाहिर है)।स्थानीयकरण के बाद नियंत्रण स्थिति रीसेट करें

हालांकि कुछ नियंत्रण गलती से चले गए थे और मैं उन्हें रीसेट करना चाहता हूं, इसलिए अंग्रेजी फॉर्म पर उनके आंदोलन जर्मन रूप पर भी दिखाई देते हैं।

मैं जर्मन रूप पर एक ही नियंत्रण की स्थिति और आकार (या सभी गुण) को कैसे रीसेट कर सकता हूं ताकि अंग्रेजी फॉर्म पर स्थानांतरित होने पर नियंत्रण दोनों रूपों के भाषा संस्करणों पर नियंत्रण हो सके? क्या स्थानीयकृत .resx फ़ाइल में खुदाई करने और नियंत्रण की सभी संपत्ति असाइनमेंट को हटाने के अलावा कोई तरीका है?

+0

क्या ये स्थिर या गतिशील रूप से बनाए गए नियंत्रण हैं? –

+0

ये स्थिर नियंत्रण हैं – Daniel

उत्तर

4

मैं विजुअल स्टूडियो डेवलपर्स (पूर्ण प्रकटीकरण के हित में) के लिए स्थानीयकरण उत्पाद का लेखक हूं। किसी भी प्रॉपर्टी जिसे आप स्थानीय ".resx" फ़ाइल से हटाते हैं, या तो विजुअल स्टूडियो फॉर्म डिज़ाइनर में या मैन्युअल रूप से ".resx" फ़ाइल में मैन्युअल रूप से, उस नियंत्रण को फिर से उस संपत्ति के डिफ़ॉल्ट भाषा के मान को स्थगित कर देगा। हालांकि कोई विशिष्ट सुविधा नहीं है जो इसे संभालती है। आपको इसे नियंत्रण-दर-नियंत्रण आधार पर स्वयं करने की आवश्यकता है। ध्यान दें कि विजुअल स्टूडियो कभी-कभी फ्लैकी होता है, और इसमें और अन्य मुद्दों के लिए विभिन्न बग हैं, इसलिए जब आप डिज़ाइनर का उपयोग करके उन्हें हटाते हैं तब भी चीजें हमेशा काम नहीं करतीं (पिछली बार मैंने स्थिति की समीक्षा की थी)। जब तक कि यह अब तक तय नहीं किया गया है (मुझे शक है), यदि आप जर्मन नियंत्रण की "स्थान" संपत्ति को डिफ़ॉल्ट भाषा की "स्थान" संपत्ति पर उदाहरण के लिए (डिजाइनर में) सेट करते हैं, तो वीएस को "स्थान" संपत्ति को हटा देना चाहिए ".de.resx" फ़ाइल। और यह करता है - कभी-कभी। अन्य बार यह (आंकड़ा नहीं जाता) और आपको इसे मैन्युअल रूप से हटाने की आवश्यकता होती है। एक बार यह खत्म हो जाने के बाद, "फ़ॉलबैक" प्रक्रिया सुनिश्चित करती है कि डिफ़ॉल्ट भाषा प्रॉपर्टी का फिर से उपयोग किया जाएगा (इसलिए आपके मामले में अंग्रेजी संस्करण पर नियंत्रण को ले जाने से यह जर्मन संस्करण पर ले जायेगा, क्योंकि दोनों एक ही संपत्ति को फिर से भरोसा कर रहे हैं - अंग्रेजी ".resx" फ़ाइल से एक)।

+0

बहुत बहुत धन्यवाद, लैरी। हालांकि मुझे एक आदर्श, जीयूआई आधारित समाधान नहीं मिला, मैं इस विषय पर थोड़ा बुद्धिमान हूं और खोजना बंद कर सकता हूं। यह मैनुअल .resx हैकिंग तो है। – Daniel

1

मुझे लगता है कि यह आपके भविष्य के विकास को आसान बना देगा यदि आपने अपना यूआई बनाया है जिस तरह से नियंत्रणों को बदलने की आवश्यकता नहीं होगी। फिर आप केवल लेबल का अनुवाद कर सकते हैं और नियंत्रण स्थिति के साथ गड़बड़ नहीं कर सकते।

उदाहरण के लिए लेबल को संबंधित संपादन फ़ील्ड के शीर्ष पर रखें, बाएं नहीं, सभी ग्रंथों को संभालने के लिए बटन को काफी बड़ा बनाएं। और उन्हें छोटे आकार के साथ प्राप्त करने के लिए जर्मन ग्रंथों को दोबारा दिखाने पर विचार करें।

+1

धन्यवाद, लेकिन मुझे नहीं लगता कि यह एक अच्छा समाधान है। सबसे पहले, आज की स्क्रीन चौड़ी हैं इसलिए उनके पास अचल संपत्ति क्षैतिज है और लंबवत नहीं है।टेक्स्ट बॉक्स के ऊपर लेबल रखने का मतलब यह होगा कि मैं किसी दिए गए स्क्रीन पर कम जानकारी प्रदर्शित कर सकता हूं। दूसरा, भविष्य की भाषा की अंतरिक्ष आवश्यकताओं की भविष्यवाणी करना असंभव है। संक्षेप में और/या भ्रमित शब्दों से भरा जीयूआई से कुछ भी बुरा नहीं है। एमएस ने स्थानीयकरण सुविधाओं को लचीला बना दिया है क्योंकि वे हैं। – Daniel

0

आधुनिक स्थानीयकरण उपकरण सहायता कर सकते हैं। आकार और स्थान मानों को संपादित करने की इजाजत देने वाले टूल में फॉर्म प्रस्तुत किए जाते हैं (यदि इन्हें स्पष्ट रूप से सेट किया गया है)। ऑटो-आकार नियंत्रण दिखाए जाएंगे, लेकिन आकार/स्थान संपादन योग्य नहीं होगा।

स्थानीयकरण के साथ अपने सॉफ़्टवेयर को ध्यान में रखना महत्वपूर्ण है। रनटाइम पर महत्वपूर्ण रूप से बदलते रूपों से बचें; हार्ड कोडित और समेकित तारों से बचें, आदि

एक स्थानीयकरण उपकरण आपके स्रोत कोड या संकलित बाइनरी का निरीक्षण करेगा। यह अनुवाद, तार, तार आदि का अनुवाद किया जाएगा। यह अनुवाद के लिए भाषाई को प्रस्तुत करेगा और आपको अनुवादित स्रोत कोड या द्विआधारी (जो आपने शुरू किया था उसके आधार पर) वापस दे देंगे। टूल भाषा फ़ोल्डरों के लिए .net नामकरण सम्मेलनों को समझते हैं, आदि

नौकरी कर सकते हैं उपयोगी उपकरण खोजने के लिए ".net सॉफ़्टवेयर स्थानीयकरण" के लिए खोजें।