2011-11-01 14 views
6

मैं यहाँ Why doesn't Django produce locale files from template files in another directory?Django अंतर्राष्ट्रीयकरण

पाया के रूप में हालांकि मैं समाधान समझ में नहीं आता एक ऐसी ही समस्या है। मेरे संरचना:

Project 
    App1 
     locale 
     templates 
    App2 
     locale 
     templates 
    templates 
     somefilethatneedstranslation.html 

अब जब मैं APP1 से इस कमांड चलाएँ: मेरी वैश्विक

python ../manage.py App1 -l nl 

यह अच्छी तरह से

हालांकि मैं चाहता हूँ APP1 स्थान फ़ोल्डर में APP1 टेम्पलेट्स के लिए एक पो फ़ाइल बनाता है टेम्पलेट्स का भी अनुवाद किया जा सकता है .. नोट: मैं अपने प्रोजेक्ट रूट में लोकेल फ़ोल्डर नहीं चाहता हूं, इसलिए मैंने ऐप 1 से टेम्पलेट फ़ोल्डर में एक सिम्लिंक जोड़ने की कोशिश की लेकिन यह अनुवाद परिणामों को ऐप 1/लोकेल/पीओ फाइल

में जोड़ नहीं है

APP1 फ़ोल्डर

ln -s ../templates/locale/* translations 
python ../manage.py App1 -l nl --symlinks 

से मैं क्या याद आ रही है?

ध्यान दें:

टेम्पलेट्स फ़ोल्डर

python ../manage.py templates -l nl 

काम कर सकता से

, लेकिन यह क्योंकि स्पष्ट रूप से टेम्पलेट्स किसी इंस्टॉल किए गए एप्लिकेशन नहीं है नहीं होगा, यह मैं स्पष्ट याद आ रही है ...

+0

आप अपने वैश्विक टेम्पलेट्स के लिए अनुवाद कहां स्टोर करना चाहते हैं? – akonsu

+1

अच्छी django 1.4 अल्फा मुझे बताता है कि प्रोजेक्ट रूट में लोकेल फ़ोल्डर्स को हटा दिया गया है .. तो कहीं और मुझे लगता है? यह वास्तव में अजीब लगता है कि django वैश्विक टेम्पलेट अनुवादों के लिए आउट ऑफ़ द बॉक्स विधि प्रदान नहीं करता है? –

+0

क्या होता है जब आप अपनी परियोजना निर्देशिका से "django-admin.py makemessages -l nl" चलाते हैं? – akonsu

उत्तर

6

पूर्ण प्रतिवाद संदेश (जो भी translation docs से समझाया गया है) है:

Translations in the project directory aren't supported anymore. LOCALE_PATHS setting instead.

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

यदि आपके पास प्रोजेक्ट-स्तरीय टेम्पलेट्स हैं, तो इन टेम्पलेट्स को ऐप-विशिष्ट लोकेल स्थान में अनुवादित करने का अर्थ नहीं है: प्रोजेक्ट-स्तरीय लोकेल निर्देशिका रखें, इसे LOCALE_PATHS में संदर्भित करें।

+0

धन्यवाद, अनुमान लगाओ कि मैंने उस भाग को याद किया :) –

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