2010-06-25 16 views
11

मैं विभिन्न देशों में विभिन्न परियोजनाओं पर काम किया और कहा कि कभी कभी कोड, अंतर्राष्ट्रीय बन गयाकोड "अंतर्राष्ट्रीयकरण"

की तरह सेट LargeurEtHauteur()                                                     (SetWidthAndHeight के लिए, fr)
मंद _ListaDeObiecte सूची (वस्तु का)     (_ObjectList के लिए, ro)
आंतरिक शून्य Sohranenie उपयोगकर्ता के रूप में ov()                         (SaveUsers, आरयू के लिए)
आदि

ऐसा होता है कि लैटिन वर्णमाला के साथ देशों में इस मिश्रण, और अधिक स्पष्ट है, क्योंकि लिप्यंतरण की कोई जरूरत नहीं है वहाँ।

तुलना में

अधिक, अक्सर प्रोग्रामिंग "शब्दजाल" परियोजना विनिर्देशों भाषा से प्रेरित है। ऐसे मामलों है कि "परियोजना भाषा" में शब्दों का अर्थ है कि "अनुवाद" अंग्रेजी में नहीं है कर रहे हैं।

वहाँ, परियोजनाओं, जिस पर ही काम करता है भी कर रहे हैं का कहना है कि एक फ्रांसीसी टीम, फ्रेंच शब्द (जैसे कि, personne, vehicule, Projet आदि) का उपयोग करता है।

कि मामलों मैं व्यक्तिगत रूप से विनिर्देशों एक "शब्दकोश" कि सभी व्यावसायिक वस्तु के नाम और केवल इन वस्तुओं अन्य (फ्रेंच) भाषा में उपयोग किया जाता बताते में जोड़ने में

कहते हैं:

COLLECTIF - कलाकारों की टुकड़ी des PERSONNES;

सभी क्रियाएं (प्राप्त करें, सेट करें, अपडेट करें, संशोधित करें, लोड करें, आदि) अंग्रेजी में हैं।

अब जब कि "मजबूत" नाम कोड में इस्तेमाल किया जा सकता है: personne जोड़े करने के लिए COLLECTIF

  • "अंतर्राष्ट्रीयकरण" के लिए आपका दृष्टिकोण क्या है?

पीएस।
मैं खुश था कि VisualStudio संकलित करता है तथा ला "btnAdd É एल नौकरी ve" या "кпкСтоп" नाम बटन के साथ नेट में परियोजनाओं चलाता है ...

उत्तर

13

मेरा व्यक्तिगत दृष्टिकोण है, जिसके द्वारा साझा किया जाता है कई प्रोग्रामिंग समुदाय में नहीं, लेकिन स्रोत कोड अंग्रेजी में होना चाहिए और यदि संभव हो, तो सभी विकास उपकरण अंग्रेजी में भी होना चाहिए।

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

यह भी स्थिरता में मदद करता है, क्योंकि अधिकांश पुस्तकालयों आंतरिक संघर्ष जब की तरह एक क्रिया जोड़े की एक निरंतर ध्यान केंद्रित होने के अलावा, अंग्रेजी और होने तत्व ऐसे नाम हैं जो दो भाषाओं मिश्रण में लिखे गए हैं वास्तव में किसी को भी मदद नहीं करता है हमेशा नहीं है traslated।

अंग्रेजी कोड भी आसान समझ और गलतफहमी के बारे में

एक अच्छा (विशेष रूप से निकट से संबंधित भाषाओं, स्पेनिश और पुर्तगाली की तरह है, जो झूठी cognates के बहुत सारे है के बीच) में चिंता किए बिना एक परियोजना के लिए विदेशी लोगों को जोड़ने के लिए बनाता है इस विषय पर लिंक: http://www.codinghorror.com/blog/2009/03/the-ugly-american-programmer.html

(में मामला किसी चमत्कार, मैं दक्षिण अमेरिकी हूँ और अंग्रेजी है नहीं अपनी प्राथमिक भाषा)

+4

विकास उपकरण के बारे में: कभी-कभी मुझे ढांचे को मजबूर करना चाहिए मुझे अंग्रेजी में त्रुटियां (यदि मेरा विजुअल स्टूडियो फ्रेंच में है), क्योंकि इंटरनेट में समाधान ढूंढना आसान है। – serhio

+1

100% सहमत हैं। स्रोत कोड अंग्रेजी में होना चाहिए और मुझे अपनी भाषा में भी विधि नाम पढ़ने से नफरत है क्योंकि आप कभी भी नहीं जानते कि – KroaX

+0

कोड को बाद में कौन पढ़ना चाहता है, दूसरे भाग से, कभी-कभी किसी मौजूदा प्रोजेक्ट को अपडेट करना मुश्किल होता है, या सब कुछ अनुवाद करने में मुश्किल होती है अंग्रेज़ी। कमजोर अंग्रेजी ज्ञान वाले प्रोग्रामर को विनिर्देशों के बाद कोड को पढ़ने में कठिनाई होगी। – serhio

1

मुझे लगता है कि मैं था एक कोड बेस को "अंतर्राष्ट्रीयकृत" की बजाय "अबाध" कहते हैं, लेकिन सामान्य नियम मैंने हमेशा सुना है कि यदि आप कभी सोचते हैं कि आपकी भाषा बोलने वाले किसी अन्य व्यक्ति को कभी भी कोड स्पर्श हो सकता है, तो इसे अंग्रेजी में करें।

+0

यहां तक ​​कि अगर कोई भी नहीं कहता है कि फ्रांसीसी टीम इस पर काम करेगी, तो हमारे पास * वोला * मिश्रण होगा ... – serhio

+0

यह भयानक है। फ्रेंच या अंग्रेजी चुनें लेकिन * सुसंगत रहें! * – Daenyth

+0

आप एनटी अन्य भाषा के साथ नहीं हो सकते हैं जो भाषा वाक्यविन्यास के कारण अंग्रेजी प्राप्त करें, सेट करें, फिर, – serhio

2

मेरे पास वर्तमान में नॉर्वेजियन के साथ एक ही समस्या है। मुझे लगता है कि यह परियोजना, उपलब्ध समय और सॉफ्टवेयर की भूमिका में आपकी स्थिति पर निर्भर करता है।

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

कोड पर टिप्पणियां और दस्तावेज़ीकरण अंग्रेजी में हैं।

यदि स्क्रैच से सॉफ़्टवेयर डिज़ाइन करना है, तो मैं सभी विधि नामों और यहां तक ​​कि व्यावसायिक शर्तों के लिए अंग्रेजी शब्द ढूंढने का प्रयास करूंगा (यदि उचित हो। मैं शायद उस उदाहरण के बारे में सोचूं जहां कोई शब्द नहीं पाया जा सकता है।), इसे रखने के लिए "पोर्टेबल"।

5

भले ही टीम में हर कोई एक अच्छा अंग्रेजी स्पीकर (जो दिया गया नहीं है) हो, फिर भी वे सभी व्यावसायिक शब्दावली के अंग्रेजी समकक्ष को नहीं जानते हैं।

मुझे लगता है कि यह एक परियोजना विशेष निर्णय क्या अनुमति देने के लिए है, लेकिन मैं आम तौर पर बर्दाश्त होता है और कुछ मामलों में स्थानीय भाषा में व्यापार के मामले (जैसे इकाई नाम) को प्रोत्साहित नहीं, बल्कि तकनीकी शब्दों (यानी नहीं Largeur/अभिमान के बजाय चौड़ाई ऊंचाई)।

उदाहरण के लिए फ्रांस में वित्तीय दुनिया में, हर कोई जानता है कि ओपीसीवीएम और FCP द्वारा क्या मतलब है - यदि आप अंग्रेजी अनुवाद का प्रयास करते हैं तो आप मिश्रित भाषाओं की अनुमति देकर अधिक गलतफहमी के साथ समाप्त हो सकते हैं।

+0

मेरे पास बस ड्राइवरों के लिए फ्रांसीसी से "हौटलपेड" अनुवाद के साथ एक ही "समस्या" है। – serhio

+1

आईएमओ, जब कोई अनुवाद मौजूद नहीं होता है (जैसे आपके उदाहरण में OPVCM की तरह) स्थानीय शब्दावली में व्यावसायिक शर्तों को प्रोत्साहित किया जाना चाहिए। –

2

यदि आप कोड लिख रहे हैं कि आप अंतरराष्ट्रीय स्तर पर एक दिन उपयोग कर सकते हैं, तो इसे अंग्रेजी में लिखें। संदेह में, इसे अंग्रेजी में लिखें, अगर आप कर सकते हैं तो टिप्पणियां भी (हालांकि मुझे लगता है कि आप अपनी कार्यस्थल की भाषा में कुछ टिप्पणियां जोड़ सकते हैं)।

दुर्भाग्य से कोडिंग करना विशिष्ट नहीं है। अंग्रेजी मेरी मूल भाषा नहीं है, लेकिन मैं कई तकनीकी दस्तावेजों को पढ़ने और दुनिया भर के लोगों के साथ अंतरराष्ट्रीय सम्मेलनों में भाग लेने में सक्षम हूं। यदि कोई भी अपनी संबंधित मूल भाषाओं में प्रकाशित होता है तो ये सहयोग केवल काम नहीं करेंगे।

यदि आप अपनी भाषा का हर कीमत पर बचाव करना पसंद करते हैं तो यह दुखी हो सकता है, लेकिन आपको इसके बारे में यथार्थवादी होना चाहिए। मुझे लगता है कि अंग्रेजी का बुनियादी स्तर हासिल करने के लिए अपेक्षाकृत सरल होने का लाभ है: नामों के लिए कोई लिंग नहीं, कोई संयोग नहीं, कोई मामला नहीं।

+0

बुनियादी समझ प्राप्त करने के लिए सरल होने से अधिक महत्वपूर्ण यह तथ्य है कि लगभग सभी प्रमुख स्वचालित भाषा अनुवाद प्रणाली अंग्रेजी का समर्थन करती हैं। – bta

+0

संभावित रूप से, किसी भी व्यावसायिक परियोजना अंतरराष्ट्रीय स्तर पर एक दिन हो सकती है, और मेरा मानना ​​है कि हम यहां "हैलो वर्ल्ड" होम एप्लिकेशन के बारे में टैंकिंग नहीं कर रहे हैं। यहां तक ​​कि अगर मैं एक लिखूंगा, तो बुगांडी राष्ट्रीय वेबसाइट, क्या मुझे इसे अंग्रेजी में लिखना चाहिए, अगर मैं एक बुगंडियन डेवलपर हूं ?! :) – serhio

2

आम तौर पर भाषा अवधारणाओं का जिक्र करने वाला कोड प्रोग्रामिंग भाषा के रूप में एक ही मां भाषा में होना चाहिए (यानी अंग्रेज़ी - के लिए, जबकि, स्ट्रिंग सभी अंग्रेजी शब्द हैं)।

स्थानीय भाषा में चर और डोमेन अवधारणाओं के लिए यह ठीक है (लेकिन महान नहीं है), लेकिन आप निश्चित रूप से सूची, वस्तु, दशमलव आदि का अनुवाद नहीं करना चाहते हैं, जिससे प्रोग्रामर दो बार मेल करने में अधिक काम करते हैं भाषाओं। फिर भी, मैं कलेक्शन, सदस्यता, व्यक्ति, उपयोगकर्ता और संभावित रूप से कम आम डोमेन अवधारणाओं जैसे चालान, रसीद से अंग्रेजी जैसी बहुत आम डोमेन अवधारणाओं को प्रतिबंधित करने के लिए दृढ़ता से लॉबी करता हूं जहां यह संभव है।

यह वीबी में आपकी कक्षाओं में आधा कोडिंग और सी # में आधे की तरह होगा - आपके मस्तिष्क को संज्ञानात्मक बदलाव करना है। हालांकि यह हाइब्रिड ऐप्स (वेब ​​पर जावास्क्रिप्ट और बैकएंड पर सी #) के लिए अच्छा है क्योंकि यह आपको स्पष्ट रखने में मदद करता है कि स्पष्ट कहां चल रहा है, यह सामान्य प्रोग्रामिंग के लिए अच्छा नहीं है।

इसके अलावा, सब कुछ के लिए अंग्रेजी का उपयोग डोमेन और भाषा शब्द एक साथ बेहतर काम करता है।

हमेशा अपवाद होते हैं। ऐसे कुछ मामले हैं जहां आप मूल शब्द का प्रयोग करेंगे - जहां शब्द डोमेन का सबसे अच्छा वर्णन करता है। उदाहरण के लिए, हमारे (अंग्रेजी) कोड बेस में, हमारे पास कुछ अवधारणाओं के लिए मैक्सिकन स्पेनिश शब्दों का संदर्भ था जो मेक्सिको में हमारे सॉफ्टवेयर चलाने वाले लोगों के लिए प्रासंगिक थे। आम तौर पर, जापानी शब्दों को ध्वन्यात्मक रूप से/रोमाजी लिखा गया था, हालांकि गैर-जापानी के लिए चित्रों का उच्चारण करने में सक्षम होना मुश्किल था ;-)।

0

चीजों को सुसंगत रखने के लिए, मैं कोड (मानव) भाषा को (प्रोग्रामिंग) भाषा के रूप में कोड बनाउंगा। यही है, यदि प्रोग्रामिंग भाषा अंग्रेजी कीवर्ड का उपयोग करती है (जैसे for, switch, public, आदि) तो बाकी कोड को अंग्रेजी में रखें। यदि आप ऐसे कंपाइलर का उपयोग कर रहे हैं जो कीवर्ड के स्वाहिली अनुवाद (कहें) को पहचानता है, तो बाकी कोड को स्वाहिली में रखें।

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

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

+0

"यदि आप एक कंपाइलर का उपयोग कर रहे हैं जो स्वाहिली को पहचानता है, तो बाकी कोड को स्वाहिली में रखें।" और यदि यह स्वाहिली और Mbuhili को पहचानता है, तो मुझे किस भाषा का चयन करना चाहिए?:) – serhio

+0

दूसरे भाग से, मैंने कभी भी प्रोग्रामिंग भाषा नहीं देखी (केवल सुनाई) जो अंग्रेजी कीवर्ड के अलावा अन्य उपयोग करता है। – serhio

+0

@ सेरियियो- यदि आपकी कंपाइलर/प्रोग्रामिंग भाषा एकाधिक भाषाओं के कीवर्ड का उपयोग करती है, तो मैं कहूंगा कि एक चुनें (और सबसे अधिक आयातक) सुसंगत रहें। सर्वोत्तम परिणामों के लिए, दो भाषाओं का अधिक आम चुनें, या जिसमे सर्वोत्तम उपलब्ध अनुवाद टूल हैं। – bta

1

मुझे लगता है कि अच्छी डिजाइन दिशानिर्देश केवल अंग्रेजी नामों के उपयोग के साथ कोड लिखना है और अंग्रेजी टिप्पणियों के साथ ही (निश्चित रूप से यदि आपकी टीम ऐसा करने में सक्षम है, लेकिन अंतरराष्ट्रीय टीम के मामले में अंग्रेजी प्राकृतिक चुनने लगती है, चूंकि यह सबसे लोकप्रिय भाषा है, खासकर आईटी दुनिया में)।

ऐसे guidline का अच्छा विवरण तो अपने कोड अंग्रेजी नामों का उपयोग कर लिख यह आपके कोड को पढ़ने के लिए आसान है कि के साथ समाप्त करने के लिए और अधिक सुसंगत रूप और धन्यवाद देता है कि प्रोग्रामिंग भाषाओं के अधिकांश में कीवर्ड अंग्रेजी से लिया जाता है है।

एक और कारण है कि compilers के सबसे आदि वर्गों के नाम, तरीकों, तो शायद आप कुछ अजीब नामों के साथ खत्म हो जाएगा के रूप में केवल ASCII वर्ण संभाल कर सकते हैं जब आप वर्णमाला गैर ascii वर्ण युक्त के साथ कुछ भाषा प्रयोग करने का फैसला है।

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

समेकित करने के लिए मुझे लगता है कि कोड का अंतर्राष्ट्रीयकरण एक अच्छा विचार नहीं है। आप कल्पना कर सकते हैं कि प्रोग्रामिंग भाषाओं में कीवर्ड (जैसे वर्ग, कोशिश करें, जबकि) को भी स्थानीयकृत किया जा सकता है और शायद आप कल्पना कर सकते हैं कि जीवन कितना कठिन हो सकता है ...

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