আমি কোনও মডেল বা প্রশাসকের বর্তমান থ্রেডে বর্তমান ভাষা কীভাবে পেতে পারি?
উত্তর:
বিশেষ আগ্রহের কাজগুলি django.utils.translation.get_language()
যা বর্তমান থ্রেডে ব্যবহৃত ভাষা ফিরিয়ে দেয়। ডকুমেন্টেশন দেখুন ।
অথবা আপনি এটি আপনার দৃষ্টিতে পেতে পারেন
অনুরোধ.লুঙ্গোপাতো
django.utils.translation.get_language()
django.utils.translation.get_language()
সর্বদা একটি ভাল সমাধান।
ভাষাটি পেতে আপনি যে পদ্ধতিটি ব্যবহার করেন সে সম্পর্কে সাবধান হন । কোন পদ্ধতির উপর নির্ভর করে জাজানো সঠিক ভাষাটি ব্যবহারের জন্য নির্ধারণ করতে বিভিন্ন উপায় এবং তথ্য ব্যবহার করবে।
django.utils.translation.get_language()
ফাংশনটি ব্যবহার করার সময় এটি থ্রেড ভাষার সাথে লিঙ্কযুক্ত । জাজানো ১.৮ এর আগে settings.LANGUAGE_CODE
অনুবাদগুলি অক্ষম করা থাকলে এটি সর্বদা ফিরে আসে । আপনি যদি ম্যানুয়ালিভাবে থ্রেডের ভাষাটি ওভাররাইড করতে চান, আপনি সেইগুলি override()
বা activate()
ফাংশনগুলি ব্যবহার করতে পারেন , যা খুব স্পষ্টভাবে নাম দেওয়া হয়নি, তবে ভাল, এখনও দরকারী:
from django.utils import translation
with translation.override('fr'):
print(_("Hello")) # <= will be translated inside the with block
translation.activate('fr') # <= will change the language for the whole thread.
# You then have to manually "restore" the language with another activate()
translation.activate('en') # <= change languages manually
আপনি যদি জাঙ্গোকে পথ এবং / অথবা অনুরোধ (ভাষা কুকি, ...) যাচাই করতে চান , যা অনেক বেশি সাধারণ উদাহরণ, www.example.com/en/<somepath>
বনাম www.example.com/fr/<somepath>
, ব্যবহার django.utils.translation.get_language_from_request(request, check_path=False)
। এছাড়াও, এটি সর্বদা সেট করে একটি বৈধ ভাষা সেট করেsettings.LANGUAGES
আমি এই বিষয় সম্পর্কে গুগলের মাধ্যমে এই পার্থক্যগুলি খুঁজে পাওয়া খুব সহজ খুঁজে পাইনি সুতরাং এটি আরও রেফারেন্সের জন্য এখানে।
django.utils.translation
অনুবাদ, নয়। প্রদত্ত লিঙ্কটিতে একটি ভুল বানান রয়েছে। স্নিপেটে এটি সঠিক।
django.utils.translation.get_language()
এবং django.utils.translation.get_language_from_request(request, check_path)
। দৃশ্য আপনার সাথে আধুনিক ব্যবহার করা উচিত যদি check_path = True
। ভাষা আপনার টেম্পলেটে অনুষ্ঠিত হবে পেতে
কেবল এটি যুক্ত করার জন্য আপনি যদি এটি ব্যবহার করেন django.utils.translation.get_language()
তবে আপনার মনে রাখা উচিত যে কোডটির সেই বিভাগটি যদি অ্যাসিনক্রোনাস নামে ডাকা হয় (যেমন সেলারি কাজ হিসাবে) তবে এটি ভিন্ন থ্রেডে চলার কারণে এই পদ্ধতির কাজ হবে না।
আপনি এটি ব্যবহার করতে পারেন
from django.utils import translation
translation.get_language()
locale
ভাষা সংক্রান্ত তথ্যের জন্য আপনি সিস্টেমটি পড়তে পারেন ।