9

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

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

वेबसाइट के साथ कई भाषाओं में सामग्री की सेवा करने के कुछ ज्ञात और सरल तरीके क्या हैं?

डेटाबेस के उपयोग से अलग-अलग पृष्ठों जैसे अलग-अलग विकल्प हैं, और आगे ... लेकिन मैं वास्तव में यह तय नहीं कर सकता कि सबसे अच्छा क्या है, अवधारणा कैसे स्केल करेगी, किस पर विचार किया जाना चाहिए, और कैसे निपटें लापता अनुवाद के साथ?

क्या इसके लिए कोई अच्छी तरह से स्थापित प्रथाएं हैं?

+0

निश्चित रूप से आप Google अनुवाद पर भरोसा नहीं कर सकते हैं, यह जापानी बहुत अच्छी तरह से कसाई का प्रबंधन करता है, मुझे उम्मीद है कि कोरियाई का उपचार समान होगा। –

+0

आप जिस प्रोग्रामिंग भाषा का उपयोग कर रहे हैं उस पर निर्भर करता है – Wil

उत्तर

13

आप जिस व्यापक विषय के बारे में पूछ रहे हैं उसे "अंतर्राष्ट्रीयकरण और स्थानीयकरण" (या लघु अवधि के लिए I18N और L10N) कहा जाता है। याद रखने की महत्वपूर्ण बात यह है कि यह संदेशों का अनुवाद करने के बारे में नहीं है। ऐसी कई अन्य चीजें हैं जो वेबसाइट को अंतर्राष्ट्रीय बनाने में जाती हैं।

और अधिक स्पष्ट बातें आप की आवश्यकता होगी रहे हैं:

  • एक वर्ण एन्कोडिंग कि सभी भाषाओं में पात्रों के लिए काम करता है, न सिर्फ अंग्रेजी
  • कुछ (इस डेटाबेस के लिए नीचे सब कुछ UTF एन्कोडिंग का उपयोग करना चाहिए मतलब है) उपयोगकर्ता की Locale का प्रतिनिधित्व करने के रास्ते (यानी: जावा के Locale वर्ग)
  • (यानी कि उपयोगकर्ता किसी भी स्थान में एक संदेश के उत्पादन के लिए एक आम पैटर्न: स्प्रिंग के MessageSource

अन्य चीजें आप पर विचार करने की जरूरत है:

  • ठीक से छँटाई तार लोकेल के आधार पर
  • स्थान के आधार पर
  • प्रारूपण तारीख
  • हमेशा उपयोगकर्ता के लिए
  • दिखाया जा रहा है दूरी माप उपयोगकर्ता के समय क्षेत्र में कई बार दिखा लोकेल (यानी: मील बनाम किलोमीटर)?
  • हिब्रू
  • जैसी भाषाओं के लिए दाएं से बाएं वेबसाइट को बाहर रखना, आप कैसे सोचते हैं अपने संदेशों को जब्त करें। String message = "Please fix the following error" + (errors.size() > 1 ? "s" : ""); सिर्फ एक अंतरराष्ट्रीयकृत कार्यक्रम में काम नहीं करता है।
  • अपने वेब पेजों को कैसे रखना है, इस बारे में सोचें कि पाठ की लंबाई जंगली रूप से भिन्न हो सकती है .. और कभी यह न मानें कि एक चरित्र एक निश्चित चौड़ाई कम या कम है (कांजी में एक भी चरित्र एक से अधिक 8 गुना हो सकता है लोअर केस 'i')

इस के लिए सबसे अच्छा संसाधन मैं ICU library's User guide देख सकता हूं। यदि आप जावा का उपयोग करते हैं, तो यह उपयोग करने के लिए लाइब्रेरी है।

उम्मीद है कि यह उत्तर एक सहायक शुरुआत है!

1

हमारे पास डिस्क पर फ़ाइलों का एक सेट है जिसमें दिए गए विजेट/मॉड्यूल/जो भी हो, और प्रति भाषा अलग फ़ाइलों में सभी स्ट्रिंग शामिल हैं, यानी।:

foo.strings == generic (happens to be US english) 
foo.fr.strings == french 
foo.fr-CA.strings == canadian french 
foo.en-CA.strings == canadian english 

ग्राहक की Accept-भाषा शीर्ष लेख के आधार पर हमने जो निर्धारित भाषा वह चाहता है।

जब किसी दिए गए भाषा का पहले अनुरोध किया जाता है, तो हम उस भाषा के लिए बड़ी स्ट्रिंग मैपिंग बनाने के लिए फ़ाइल सिस्टम को दबाते हैं, फिर इसे स्मृति में कैश करते हैं। यदि किसी दिए गए स्ट्रिंग को एफए-सीए में परिभाषित नहीं किया गया है, तो हम अंततः जेनेरिक

पृष्ठ गतिशील रूप से उत्पन्न होते हैं और प्रत्येक यूआरएल का जेनरेट किया गया संस्करण उपयोगकर्ता की भाषा के आधार पर कैश किया जाता है हेडर (अन्य चीजों के साथ)।

आशा में मदद करता है कि

3

Multi-regional and multilingual sites के लिए गूगल की सिफारिशों पर एक नजर डालें। उम्मीद है कि जानकारी काम में आती है। शुभकामनाएँ।

2

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

सीएसएस कोड:

 


    q:lang(fr) {  /* Quotations for French */ 
    quotes: "\00AB" "\00BB"; 
    } 

    q:lang(en) { 
    quotes: "\201C" "\201D"; /* Quotations for English */ 
    } 


एचटीएमएल कोड:

<html> 
<body> 
<pre> 
    <p>Quote in French: <q lang="fr">То être ou ne pas être</q>.</p> 
    <p>Quote in English: <q lang="en">То be or not to be</q>.</p> 
</pre> 
</body> 
</html> 

और उत्पादन इस तरह होगा:

Quote in French language: << То être ou ne pas être >>. 

Quote in English language: "То be or not to be". 

कृपया ध्यान दें कि हम, दस्तावेजों के बारे में बात नहीं कर रहे हैं एक पाठ का टुकड़ा, क्योंकि वे जटिल स्वरूपण करते हैं।

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