Skip to content

Python ​

पायथन एप्लिकेशन के लिए चयनकर्ता। एक्सट्रैक्शन, कैटलॉग और कॉल शेप पायथन एप्लिकेशन में रहते हैं। मौजूदा एकल-स्थानिक ऐप के लिए चरण-दर-चरण प्रक्रिया है पायथन ऐप में i18n जोड़ें, जिसमें एक i18n.py प्रॉम्प्ट और एक Django / gettext प्रॉम्प्ट शामिल है।

Streamlit, FastAPI, Flask, Pyramid, Tkinter, PyQt, PySide, और PyWebView जनरेट किए गए i18n.py हेल्पर (Python 3.10 या नया) को कॉल करते हैं। Django, Django के gettext को बनाए रखता है। रिपॉजिटरी में चार रन करने योग्य प्रतियां शामिल हैं: examples/python-streamlit, examples/python-flask, examples/python-fastapi, और examples/python-gettext। Pyramid, Django, Tkinter, Qt, और PyWebView के लिए कोई अलग उदाहरण निर्देशिका नहीं है।

कौन सा टेम्प्लेट ​

फ्रेमवर्कइनिट टेम्पलेटकैटलॉगउदाहरण
स्ट्रीमलेटui-pythonस्रोत स्ट्रिंग द्वारा कुंजीबद्ध फ्लैट JSONpython-streamlit
फास्टएपीआईui-pythonस्रोत स्ट्रिंग द्वारा कुंजीबद्ध फ्लैट JSONpython-fastapi
फ्लास्क + जिंजा, फ्लैट JSONui-pythonस्रोत स्ट्रिंग द्वारा कुंजीबद्ध फ्लैट JSONpython-flask
Flask / Jinja gettextui-python-flask.po / .mo जो translations/ के अंतर्गत हैनीचे दिए गए Flask नोट्स का उपयोग करें
Pyramidui-python या ui-python-flaskFlask के समानFlask के समान वायरिंग
Djangoui-python-djangolocale/<lang>/LC_MESSAGES/django.poकोई उदाहरण निर्देशिका नहीं
मौजूदा GNU gettextui-python-gettextफ्लैट JSON और .po / .mo, या केवल gettextpython-gettext
टिकइंटरui-pythonस्रोत स्ट्रिंग द्वारा कुंजीबद्ध फ्लैट JSONकोई उदाहरण डायरेक्टरी नहीं
PyQt / PySideui-python या gettext टेम्प्लेटफ्लैट JSON और/या .poकोई उदाहरण निर्देशिका नहीं
PyWebView / PyWebKitशेल के लिए एक Python टेम्प्लेटशेल कैटलॉग, साथ ही HTML मार्कर या प्रति लोकेल एक HTML फ़ाइलकोई उदाहरण निर्देशिका नहीं

ui-python, ui-python-gettext और ui-python-flask i18n.py लिखते हैं जब वह फ़ाइल गुम होती है। ui-python-django ऐसा नहीं करता है। रिपॉजिटरी README का भी अनुवाद करने के लिए --with-readme जोड़ें: अपनी README और मार्कडाउन डॉक्स में i18n जोड़ें।

फ्रेमवर्क नोट्स ​

Streamlit ​

streamlit_language_selector() लोकेल को सेशन स्टेट और क्वेरी स्ट्रिंग में लिखता है। प्रत्येक विजेट को एक निश्चित key दें। विवरण: Locale — Streamlit।

FastAPI ​

मिडलवेयर में ?lang= या Accept-Language पढ़ें, set_locale को कॉल करें, और finally में reset_locale करें ताकि समवर्ती अनुरोध (concurrent requests) अपना स्वयं का लोकेल बनाए रखें। विवरण: Locale — FastAPI।

Flask और Pyramid ​

python-flask उदाहरण फ्लैट JSON का उपयोग करता है। init -t ui-python-flask उन ऐप्स के लिए translations/ के अंतर्गत gettext लेआउट है जो पहले से ही Flask-Babel-शैली के कैटलॉग का उपयोग करते हैं। किसी भी स्थिति में, अनुरोध (request) से लोकेल सेट करें और _, t, current_locale, ui_languages, और direction को टेम्प्लेट संदर्भ में इंजेक्ट करें। Pyramid समान अनुरोध-स्कोप वाले पैटर्न का उपयोग करता है। विवरण: Locale — Flask and Pyramid।

Django ​

gettext, ngettext, और {% blocktrans %} को बनाए रखें। init -t ui-python-django, Django की locale/ डायरेक्टरी और django डोमेन से मेल खाता है, और Django के रनटाइम को यथावत छोड़ देता है। विवरण: Locale — Django।

मौजूदा gettext ​

_(), gettext(), और ngettext() को यथावत रहने दें। ui.gettext को वर्तमान कैटलॉग ट्री पर इंगित करें और extract चलाएं, फिर translate-ui चलाएं। python-gettext उदाहरण केवल gettext (flatOutput: false) है। init -t ui-python-gettext भी फ्लैट JSON लिखता है। विवरण: Locale — Existing gettext।

Tkinter, Qt, और PyWebView ​

प्रत्येक Tkinter विजेट बनाते समय t() या _() को कॉल करें, फिर set_locale के बाद दृश्य टेक्स्ट को फिर से बनाएं। PyQt और PySide self.tr("...") कॉल निकाले जाते हैं, और Qt .ui फ़ाइलें <string> तत्वों में योगदान करती हैं जब तक कि notr="true" न हो। PyWebView या PyWebKit के लिए, ऊपर दिए गए टेम्प्लेट के साथ Python शेल निकालें और data-i18n मार्करों के साथ या प्रति लोकेल एक HTML दस्तावेज़ के साथ HTML पेज निकालें। विवरण: Locale — Tkinter, PyQt / PySide, और PyWebView।

MIT लाइसेंस के तहत जारी किया गया।