2008-10-02 5 views
17

को स्थानीयकरण कैसे करते हैं मैं स्थानीयकरण सुविधाओं में निर्मित .NET के साथ खेल रहा हूं और वे सभी resx फ़ाइलों में डेटा डालने पर भरोसा करते हैं।आप डेटाबेस संचालित वेबसाइट

लेकिन अधिकांश सिस्टम इस पर भरोसा नहीं कर सकते क्योंकि वे डेटाबेस संचालित हैं। तो आप इस मुद्दे को कैसे हल करते हैं? क्या .NET तरीके से कोई बनाया गया है, या आप SQL में अनुवाद तालिका बनाते हैं और इसे मैन्युअल रूप से करते हैं? और यदि आपको अपनी अधिकांश साइटों पर ऐसा करना है, तो क्या स्थानीयकरण के रेक्सएक्स तरीके का उपयोग करने का कोई कारण है?

इसका एक उदाहरण है कि मेरी साइट पर एक एफएक्यू सूची है, मैं इस सूची को डेटाबेस में रखता हूं ताकि मैं आसानी से जोड़/हटा सकूं, लेकिन इसे डेटाबेस में डालकर, मेरे पास इसका अनुवाद करने का कोई अच्छा तरीका नहीं है कई भाषाओं में जानकारी।

उत्तर

16

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

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

0

वर्तमान में, टी:

यहाँ कुछ संबंधित लिंक है ranslation ऐसा कुछ नहीं है जो स्वचालित रूप से किया जा सकता है। सबसे अच्छा तरीका है कि किसी व्यक्ति को उचित भाषा दिखाने के लिए निक के तरीकों का अनुवाद और उपयोग करना है।

2

अपने डेटा मॉडल में दिए गए आइटम के लिए, विवरण भाग को स्थानीय स्थान पर लोकेल आईडी आईडी (एलसीआईडी) के साथ विभाजित करें।

तो उत्पाद नहीं वास्तव में उत्पादों वर्णन या नाम है, लेकिन होते हैं के लिए तालिका केवल अपने कड़ी मेहनत और तेजी मूल्यों (productId, EAN, NumberInStock, NextStockData, IsActive, IsPublished) आदि

ProductDescription तो शामिल उत्पाद आईडी, नाम, विवरण, एलसीआईडी ​​

2

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

विकल्प ए

Item (ItemID, ...) 
ItemLocal (ItemID,LocaleID,....) 

विकल्प बी

Item (ItemID, ...) 
Item_ENUS (ItemID,....) 
Item_ENGB (ItemID,....) 
Item_FR (ItemID,....) 

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

+3

FYI: स्थानीय! = लोकेल – Tanktalus

0

हम रेजीएक्स फ़ाइलों के मिश्रण और किब्बी की प्रतिक्रिया के विकल्प ए का उपयोग करते हैं। हमने आरईएक्स फाइलों को ऑनलाइन प्रबंधित करने के लिए एक सरल टूल बनाया है: http://blog.lavablast.com/post/2008/02/RESX-file-Web-Editor.aspx