Geçerli dildeki bir konudaki modele veya yöneticiye nasıl ulaşabilirim?Güncel dili django'da nasıl alıyorum?
cevap
Geçerli olan özel işlevler, geçerli iş parçacığında kullanılan dili döndüren django.utils.translation.get_language()
şeklindedir. Bakınız documentation.
Bağlantı şimdi kesildi, [bu bir] olmalıdır (https://docs.djangoproject.com/es/1.9/ref/utils/#django.utils.translation.get_language). – LostMyGlasses
Uyarı: * Çeviriler geçici olarak devre dışı bırakılmışsa (deactivate_all() ile veya Geçersiz kılmak için Hiçbiri geçmediyse()) döner. Django 1.8'den önce, çeviriler devre dışı bırakıldığında get_language() her zaman LANGUAGE_CODE öğesinin başına döndü. * – Pieter
Dil bilgisi için sistemin locale
kodunu okuyabilirsiniz.
-3 'ye yönetiliyorsunuz, ama sanırım soru belirsiz - "web'in şu anki dili". Bunu tahmin etmenizin hatası, işletim sistemi anlamına gelmez. – mikemaccana
Ya siz de görünümlerde bu alabilirsiniz
request.LANGUAGE_CODE
Buna oy verdim (herhangi bir nedenle -1'den). Aşağıdakilere dikkat edin (http://docs.djangoproject.com/en/dev/topics/i18n/deployment/#how-django-discovers-language-preference adresinden statik (middleware-less) çeviri ile, dil ayarları .LANGUAGE_CODE, dinamik (middleware) çevirisiyle birlikte, istekte bulunur.LANGUAGE_CODE. " –
Bu bağlantı öldü ve yukarıda belgelenen kabul edilen çözümü kullanmama nedenim yok:" django.utils.translation.get_language() " – qris
Örneğin bir dilin istenmediği durumlarda modele ulaşmak mümkün olmayacaktı. Bence "django.utils.translation.get_language()" '' her zaman daha iyi bir çözüm. – Hussam
Sadece o zaman django.utils.translation.get_language()
kullanmak yaparsanız akılda tutulması gerektiğini eklemek için bu kodu o bölüm bir kereviz olarak örneğin (eşzamansız adı verilecek olursa Görev) o zaman bu yaklaşım farklı bir iş parçasında çalıştığı için çalışmayacaktır.
Buradaki bariz yaklaşım dili görev parası olarak geç ter ve sonra dili çeviri ile ayarlayın.activate (language) – xyzman
dilini almak için kullandığınız yönteme dikkat edin. Hangi yönteme bağlı olarak, Django kullanmak için doğru yolu belirlemek için farklı yollar ve bilgiler kullanacaktır.
django.utils.translation.get_language()
işlevini kullanırken, iş parçacığı diline bağlanır. Django 1.8'den önce, çeviriler devre dışı bırakıldığında her zaman settings.LANGUAGE_CODE
döndü. el iplik dilini geçersiz kılmak isterseniz, çok açık bir şekilde adlandırılmış, ama iyi, hala yararlı değildir override()
veya activate()
işlevleri kullanabilirsiniz:
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
Eğer yolunu kontrol etmek django istiyorsanız ve/ya da (dil çerezi, ...) talebi, yani çok daha yaygın olan örn. www.example.com/en/<somepath>
vs www.example.com/fr/<somepath>
, django.utils.translation.get_language_from_request(request, check_path=False)
kullanın. Ayrıca, her zaman geçerli bir dil olan settings.LANGUAGES
'da döndürülür. Bu farklılıkları Google aracılığıyla bu konuyla ilgili bulmak çok kolay değildir.
Bunun “django.utils.translation” olduğunu, çevirilerin olmadığını unutmayın. Verilen bağlantıda bir yazım hatası var. Snippet'te doğru. – J0ANMM
@ J0ANMM: teşekkürler, düzeltildi;) django.utils.translation.get_language() 've' django.utils.translation.get_language_from_request (request, check_path) 'arasındaki fark için – achedeuzot
+1. Görünüşte, ikincisini, şablonunuzun işleneceği dili almak için 'check_path = True' ile kullanmalısınız. –
- 1. Güncel ProcessID nasıl edinilir?
- 2. TextView'de dili nasıl alabilirim?
- 3. TDateTimePicker dili nasıl ayarlanır?
- 4. Güncel mağaza
- 5. Güncel dizini Dart'ta nasıl bulabilirim?
- 6. Güncel GOPATH kodu nasıl alınır
- 7. Güncel uzantı watchOS'ta nasıl açılır?
- 8. Ekran etkinliğini nasıl güncel alırsınız?
- 9. Güncel veriler UID nasıl edinilir?
- 10. PHP script dili veya programlama dili?
- 11. CSV sorgu dili nasıl kullanılır?
- 12. GitLab'da proje dili nasıl belirlenir?
- 13. Eclipse arabirim dili nasıl seçilir?
- 14. Geçerli giriş dili nasıl belirlenir?
- 15. Güncel <tr>
- 16. alıyorum
- 17. Notepad ++ Klavye Dili sadece
- 18. C# Komut dosyası dili
- 19. Şema ana dili belirtimi
- 20. MarkLogic üçlü nesne dili
- 21. Jquery'yi kullanarak güncel tarihi nasıl edinebilirim?
- 22. Raylarda güncel URL yolu deseni nasıl alınır?
- 23. Güncel dizini kompakt çerçevede nasıl edinirsiniz?
- 24. Güncel tabloyu MS Word VBA'da nasıl edinebilirsiniz?
- 25. Güncel kaydırma konumunu nasıl alabilirim UIWebView
- 26. Güncel kütüphaneleri sbt ile nasıl bulurum?
- 27. Rails 3'te güncel yöntem nasıl edinilir?
- 28. Güncel tarihi epoch zaman damgası nasıl dönüştürülür?
- 29. Güncel IIS sürümü PHP ile nasıl algılanır?
- 30. VIM: Güncel arabellekte yeni dosya nasıl açılır?
Lütfen spesifik olun. 'Web sayfamın dili' - web isteği, web sunucusu veya ne demek istiyorsunuz? – mikemaccana