2009-02-03 16 views
181

मैं यूआई पर एकाधिक भाषाओं का समर्थन करने के लिए डेस्कटॉप एप्लिकेशन तैयार करने के बारे में एक प्रश्न पूछने जा रहा था।स्थानीयकरण और अंतर्राष्ट्रीयकरण, क्या अंतर है?

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

आखिरकार मुझे एहसास हुआ कि मुझे शायद स्थानीयकरण के बजाय टैग किए गए प्रश्नों के तहत देखना चाहिए। हालांकि ऐसा लगता है कि मैं इन दो शर्तों को मिश्रित करने में अकेला नहीं हूं।

तो, स्थानीयकरण और अंतर्राष्ट्रीयकरण के बीच वे महत्वपूर्ण अंतर क्या हैं?

इसके अलावा, वास्तव में उनके बीच एक स्पष्ट अंतर है कि यह महत्वपूर्ण है?

उत्तर

204
अंतर्राष्ट्रीयकरण (i18n)
अपने सॉफ्टवेयर बदल रहा है, ताकि उसे एक भाषा/भाषा/संस्कृति के लिए hardwired नहीं है की प्रक्रिया।
स्थानीयकरण (एल 10 एन)
आपके सॉफ़्टवेयर में उचित संसाधन जोड़ने की प्रक्रिया ताकि एक विशेष भाषा/लोकेल समर्थित हो। यह this Wikipedia entry की तुलना में दायरे में बड़ा है, लेकिन यह एक अच्छी शुरुआत है।


उन दोनों के बीच भेद का मूल्य उस (सैद्धांतिक) एक बार अपने कार्यक्रम i18n प्रक्रिया से गुजरता है, तो आप कई l10n प्रक्रियाओं पुनरावृति कर सकते हैं के रूप में आप उन्हें जरूरत है, भी, भाषा के साथ सटीक होना अच्छा लगता है।

+9

उनके बारे में सोचने के कुछ अन्य कारण अलग-अलग: अंतर्राष्ट्रीयकरण क्यूए और स्थानीयकरण क्यूए के पास अलग-अलग परीक्षण मामले हैं, अंतर्राष्ट्रीयकरण एक बार की लागत (अधिक या कम) है, और इसलिए आप जितनी अधिक भाषाओं को स्थानीयकृत करते हैं, उतना ही अधिक आपका आरओआई। i18n आमतौर पर किसी भी लोकेल के लिए l10n से अधिक महंगा है। –

+0

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

+0

हालांकि यह थोड़ा पुराना है, यह [डब्ल्यू 3 सी उच्च स्तरीय दृश्य उच्च] (http://www.w3.org/International/questions/qa-i18n) जो मूल रूप से इसके साथ सहमत है। – mkobit

64

Apple के अनुसार:

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

-1

i18n और l10n की कई परिभाषाएं हैं। एक मैं का उपयोग कर रहे हैं:

अंतर्राष्ट्रीयकरण (i18n): आपके आवेदन की भाषा विशिष्ट अनुकूलन (अनुवाद)

स्थानीयकरण (l10n): आपके आवेदन (पैसा, संख्या स्वरूप के स्थान विशिष्ट अनुकूलन, तारीख प्रारूप ...)।

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

28

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

जब आप बेचना चाहते हैं , उदाहरण के लिए, आपके ऐप का एक चीनी संस्करण, फिर आप इसे zh-CN संसाधन फ़ाइलों को बनाने के लिए एक अनुवादक को भर्ती करके स्थानीयकरण करेंगे, और एक नई तिथि/समय/मुद्रा प्रारूप का उपयोग करेंगे।

13

एल 10 एन कभी-कभी दिखा सकता है कि आपका आई 18 एन असफल रहा है - उदाहरण के लिए, जहां आपके शब्दकोशों में एक शब्द के लिए एक प्रविष्टि है जिसका उपयोग संज्ञा के रूप में किया जाता है और अंग्रेजी में एक क्रिया है जो किसी अन्य भाषा में एक ही शब्द का अनुवाद नहीं करता है , या यूआई तत्व/डिजाइन एक संस्कृति (एल/आर अभिविन्यास) के लिए अनुपयुक्त हैं।

तो l10n "आम तौर पर" i18n के बाद होता है, लेकिन आपके i18n में वापस फ़ीड कर सकता है और इसके लिए फिर से डिज़ाइन की आवश्यकता होती है, इसलिए जब तक आप कुछ स्थानीयकरण नहीं कर लेते हैं तब तक आप अपने ऐप को पूरी तरह से अंतर्राष्ट्रीयकृत नहीं मान सकते हैं।

3

यहां कुछ बहुत अच्छे उत्तर दिए गए हैं, इसलिए मैं उन्हें रीसायकल नहीं करूंगा। हालांकि, किसी बिंदु पर, आमतौर पर अंतर्राष्ट्रीयकरण परीक्षण और स्थानीयकरण भाषाई परीक्षण, अंतर्राष्ट्रीयकरण और स्थानीयकरण के बीच ओवरलैप होते हैं। एक व्यक्ति अंतरराष्ट्रीयकरण के लिए वापस l10n का उल्लेख करता है, लेकिन यदि आप गुणवत्ता i18n परीक्षण कर रहे हैं, और छद्म-स्थानीय सामग्री बना रहे हैं, तो स्थानीयकरण के दौरान विकास के मुद्दों पर पुनरावृत्ति करना अपवाद होना चाहिए, नियम नहीं। इंटरफेस का आकार बदलना, और विशेष रूप से अरबी और हिब्रू जैसे द्वि-दिशात्मक भाषाओं का समर्थन करने के लिए पृष्ठों को अनुकूलित करना स्थानीयकरण के मुद्दों और अंतर्राष्ट्रीयकरण इंजीनियरिंग दोनों को मिश्रित करता है।

यह कहने के लिए पर्याप्त है, अंतर्राष्ट्रीयकरण में आवश्यकताओं के आधार पर किसी भी लोकेल का समर्थन करने के लिए स्रोत में परिवर्तन करना शामिल है। यदि अंतर्राष्ट्रीयकरण अच्छी तरह से किया जाता है ...

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

लेख के बहुत सारे संदर्भ के लिए & श्वेत पत्र यहाँ: http://www.lingoport.com/software-internationalization-articles

2

मुझे लगता स्थानीयकरण अंतर्राष्ट्रीयकरण के बिना जा सकते हैं लेकिन .. स्थानीयकरण के साथ अंतर्राष्ट्रीयकरण नहीं किया जाना चाहिए ...

7

वैश्वीकरण (G11n): है वैश्विक बाजार में बहुभाषी सॉफ्टवेयर उत्पादों के विकास और विपणन की प्रक्रिया।

बहुभाषी सॉफ्टवेयर का विकास वर्तमान में दो चरणों के माध्यम से चला जाता है: पहला चरण अंतर्राष्ट्रीयकरण है, और दूसरा चरण स्थानीयकरण है।

अंतर्राष्ट्रीयकरण (I18n): एक उत्पाद को सामान्य करने की प्रक्रिया है ताकि यह फिर से डिजाइन की आवश्यकता के बिना कई भाषाओं और सांस्कृतिक सम्मेलनों को संभाल सके (यानी भाषा & संस्कृति तटस्थ)।

स्थानीयकरण (एल 10 एन): उत्पाद लेने और लक्ष्य लोकेल (देश/क्षेत्र और भाषा) के लिए सांस्कृतिक रूप से उचित रूप से उपयुक्त बनाने की प्रक्रिया है जहां इसका उपयोग और बेचा जाएगा (यानी भाषा & संस्कृति विशिष्ट)।

2

अनुरूप पॉव: अपनी लाइब्रेरी पर एक शेल्फ की कल्पना करें जो केवल एक आकार की पुस्तक 4x4 इंच ले सकती है। अंतर्राष्ट्रीयकरण सभी प्रकार के विभिन्न डिब्बों के साथ शेल्फ का निर्माण करेगा जो इसे किसी भी पुस्तक आकार या आकार को संभालने की अनुमति दे सकता है। और स्थानीयकरण सभी पुस्तकों को सही वर्गों पर स्थापित करेगा।अपने डेटाबेस, व्यापार तर्क और यूआई को शेल्फ और विभिन्न भाषाओं, मुद्राओं और पाठ्य अभिविन्यास के रूप में किताबों के रूप में सोचें।

3

अंतर्राष्ट्रीयकरण - i18n - किसी विशेष भाषा/संस्कृति से एक आवेदन पत्र की अमूर्त।

स्थानीयकरण - l10n- उपरोक्त i18n ढांचे के लिए किसी विशेष भाषा/संस्कृति/लोकेल के लिए ठोस समर्थन में प्लगिंग।

असल में i18n करने से पहले आप पीआईटीए को बहुत कम पीआईटीए बनाते हैं।

इसके विपरीत यदि आप पहले एक ठोस लोकेल में कोई एप्लिकेशन बनाते हैं और बाद में इसे अंतर्राष्ट्रीयकरण करने का प्रयास करते हैं, तो यह एक विशाल पिटा होगा। यह एक ठोस अंग्रेजी स्ट्रिंग को स्वैप करने का एक साधारण मामला नहीं है, "हैलो वर्ल्ड" को संसाधन। ग्लोबल.हेलोवर्ल्ड।

विभिन्न भाषाओं अलग स्थान आवश्यकताओं, लेआउट, जोर, रंग आदि होगा

आप जमीन से जगह में i18n ढांचे की जरूरत है ऊपर आसानी से ऊपर अंतर के लिए स्थानों के बीच इस स्विचिंग का समर्थन करने के लिए यदि आप भी लगता है आपको एक से अधिक लोकेल का समर्थन करने की आवश्यकता हो सकती है।

बाद में एप्लिकेशन में इसे पुनः लोड करना वास्तव में कठिन है। आपको आर्किटेक्चरल विचारों और बाधाओं के पूरे मेजबान पर फिर से जाना होगा (या किसी और ने) ने पहली बार गोल किया था।

10

Wikipedia

अंतर्राष्ट्रीयकरण के अनुसार एक सॉफ्टवेयर अनुप्रयोग को डिजाइन इतना है कि यह संभवतः विभिन्न भाषाओं और क्षेत्रों without engineering changes अनुकूलित किया जा सकता की प्रक्रिया है।

स्थानीयकरण लोकेल-विशिष्ट घटकों और पाठ का अनुवाद करके विशिष्ट क्षेत्र या भाषा के लिए adapting internationalized software की प्रक्रिया है।

इसके अलावा, स्थानीयकरण (जो संभावित रूप से विभिन्न स्थानों के लिए कई बार किया जाता है,) का उपयोग करता infrastructure or flexibility provided by internationalization (जो आदर्श रूप में केवल एक बार किया जाता है, या चल रहे विकास का एक अभिन्न अंग के रूप में)।

4

यह बहुत सरल है, तो आप नीचे दिए गए परिभाषाओं से जाना है,

i18n (अंतर्राष्ट्रीयकरण) एक आवेदन तो यह परिवर्तन करने के लिए कार्यक्षमता है कि डिजाइनिंग की

प्रक्रिया है आवेदन के प्रोग्रामेटिक परिवर्तन का उपयोग किए बिना एक अलग भाषा पर।

l10n (स्थानीयकरण)वास्तविक भाषा-विशिष्ट ग्रंथों बनाने और स्वरूपण की

प्रक्रिया है। मानकों का एक सेट है कि उपयोगकर्ता की भाषा, क्षेत्र और किसी विशेष संस्करण वरीयताओं कि उपयोगकर्ता अपने यूजर इंटरफेस में देखना चाहता है परिभाषित करता है -

1

स्थान को समझने पहले

स्थान देता है। आम तौर पर एक लोकेल पहचानकर्ता में कम से कम एक भाषा पहचानकर्ता और एक क्षेत्र पहचानकर्ता होता है।

i18n - एकाधिक लोकेशंस का समर्थन करने के लिए सॉफ्टवेयर डिज़ाइन और विकास करना।

l10n - यह तब संभव है जब आपका सॉफ़्टवेयर i18n का समर्थन करता हो। लेकिन l10n सुनिश्चित करता है कि, उस भाषा, दिनांक-प्रारूप, मुद्रा स्वरूप इत्यादि को एक विशिष्ट लोकेल के संदर्भ में दिखाया गया है।

उदाहरण के लिए,

# 1। 3 जून, 1 9 77 को स्पैनिश में 3 डी जूनियो डी 1 9 77 के रूप में अनुवादित किया जाएगा।

# 2। कुछ देशों में मुद्रा को '।' से अलग किया जाता है। बनाम ','

# 3। लोकेल के देश के आधार पर संबंधित मुद्रा चिह्न दिखाएं

# 1, # 2 और # 3 स्थानीयकरण के लिए उपयोग-मामले हैं।

सॉफ्टवेयर का समर्थन करने के लिए # 1 या # 2 या # 3 उपयोगकर्ता के स्थान के आधार पर बनाया गया है, तो उत्पाद सक्षम L10n है।

यदि यह एकाधिक लोकेशंस का समर्थन करता है तो यह i18n सक्षम है।

0

बस

अंतर्राष्ट्रीयकरण (i18n) अपने सॉफ़्टवेयर विभिन्न भाषाओं, क्षेत्रों और संस्कृतियों के लिए अनुकूल करने में सक्षम बनाने की प्रक्रिया है।

स्थानीयकरण (एल 10 एन) आपके सॉफ़्टवेयर को कई भाषाओं में अनुवाद करने की प्रक्रिया है। लेकिन इससे पहले कि आप अपने सॉफ्टवेयर को स्थानीयकृत कर सकें, आप इसे अंतर्राष्ट्रीयकृत कर सकते हैं।

+0

यह पहले से मौजूद उत्तरों में कुछ भी कैसे जोड़ता है? –

3

बहुत सारे उत्तर, सही जानकारी के बहुत सारे, लेकिन मेरा जवाब थोड़ा और दृष्टिकोण है।

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

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

key | english | italian   | 
------+------------+-------------------+ 
title | Welcome | Benvenuto   | 
agree | I agree | Sono d'accordo | 
thank | Thank you | Grazie   | 

अंतर्राष्ट्रीयकरण यह confirm("I agree"); के बजाय confirm(t(agree)); या confirm("Sono d'accordo");
स्थानीयकरण की तरह कोड कुछ में उपयोग कर रहा है:

उदाहरण के लिए, हम भंडारण है

key | english | italian   | spanish   | 
------+------------+-------------------+------------------+ 
title | Welcome | Benvenuto   | Bienvenido  | 
agree | I agree | Sono d'accordo | Estoy de acuerdo | 
thank | Thank you | Grazie   | Gracias   | 

और यहां डेवलपर को अपडेट कोड की आवश्यकता नहीं है, अनुवाद फ़ंक्शन सही ग्रंथों को सही ढंग से ले जाएगा।

+1

समझने के लिए बहुत आसान है। –

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