मैं कुछ ऐसे टेबलों को संभालने के बारे में सलाह देता हूं जिनके पास फ़ील्ड रखने की आवश्यकता है जिन्हें एन भाषाओं में अनुवादित किया जाना चाहिए। मैंने पढ़ा है कि एक आधार-सारणी रखने का सबसे अच्छा तरीका है जिसमें सभी फ़ील्ड हैं जो भाषा विशिष्ट नहीं हैं और एक तालिका है जो अनुवाद के साथ सभी फ़ील्ड रखती है।सिद्धांत 2 - i18n के लिए सर्वोत्तम प्रथाओं?
उदाहरण:
PRODUCT PRODUCT_TRANSLATIONS +--------------+ +----------------------+ | id | | id | +--------------+ +----------------------+ | category_id | | product_id | +--------------+ +----------------------+ | price | | language_id | +--------------+ +----------------------+ | name | +----------------------+ | description | +----------------------+
तो हम आधार तालिका उत्पाद है कि सभी मेटा डेटा रखती है और एक PRODUCT_TRANSLATIONS तालिका जहां कि सभी डेटा की जरूरत संग्रहीत किया जाता है होगा कई भाषाओं में अनुवाद करने की। PRODUCT तालिका में PRODUCT_TRANSLATIONS तालिका के लिए एक बहुत ही रिश्ते है।
ऐसे परिदृश्य को संभालने के लिए सिद्धांत-मार्ग क्या होगा? यदि मैं उत्पाद तालिका से पूछता हूं, तो मुझे इस तालिका में सभी अनुवाद शामिल होंगे। लेकिन ज्यादातर समय मैं केवल एक दिए गए उत्पाद आईडी के लिए एक अनुवाद चाहता हूं। मैं परिणाम सेट को सीमित करने के लिए केवल अपनी भाषा को सीमित करने के लिए अपने स्वयं के गेटर विधियों को लिखने के लिए एक रिपोजिटरी क्लास का उपयोग कर सकता हूं, लेकिन मेरे पास बहुत सी टेबल होंगे जिनके पास फ़ील्ड होने की आवश्यकता है। मैं शर्त लगाता हूं कि उस समस्या का एक और सामान्य समाधान है। एक और समस्या यह है कि, यदि मैं किसी ऑब्जेक्ट से संबंधित किसी ऑब्जेक्ट से पूछता हूं, तो मुझे उस दूसरी ऑब्जेक्ट के लिए सभी अनुवाद मिलेंगे।
बीटीडब्ल्यू: मुझे जीडीमिनास द्वारा अनुवादनीय व्यवहार विस्तार से अवगत है, लेकिन मुझे यह तथ्य पसंद नहीं है कि सभी अनुवाद एक तालिका में संग्रहीत हैं।
तो अंतर्राष्ट्रीयकरण की बात आती है तो मैं किसी भी सर्वोत्तम प्रथा की तलाश में हूं। इस विषय पर किसी भी विचार की अत्यधिक सराहना की जाती है।
एक समाधान मिला? मैं वही चीज़ ढूंढ रहा हूं। –