Django web sitem var. Kullanıcının dilindeki mevcut dilleri listeleyen bir dil seçici ile çeviri ekliyorum. Açılışta yerel yazım da dahil olmak istiyorum.Django Dil Seçici yerel ve yerel dilde
Şu anda şuna benzer:
İngiliz
Hollandalı
Basitleştirilmiş Çince Çinlilere geçtiğinizde
benzediğini: Ben
荷兰语
简体 中文
英语gibi görünmeye çalışıyorum:
Türkçe/İngilizce
Dutch/Nederlands
Basitleştirilmiş Çince/简体 中文
settings.py içerir:
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('English')),
('nl', ugettext('Dutch')),
('zh-cn', ugettext('Simplified Chinese')),
)
base.html:
{% load i18n %}
{% get_available_languages as LANGUAGES %}
<form action="/i18n/setlang/" method="post">{% csrf_token %}
<input name="next" type="hidden" value="/" />
{% csrf_token %}
<select name="language">
{% for lang in LANGUAGES %}
<option value="{{ lang.0 }}">{{ lang.1 }}</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>
Benim düşünce olduğunu LANGUAGES için başka bir öğe eklemek oldu gibi ana dil:
Ancak Django, LANGUAGES için 2 maddelik bir tuple beklediği görülüyor. Başka fikirlerin var mı? İskender'in yorumun başına
DÜZENLEME: Ben daha basit bir çözüm olabileceğini düşündüm, ama kod değiştirdikten sonra :
<form action="/i18n/setlang/" method="post">{% csrf_token %}
<input name="next" type="hidden" value="/" />
<select name="language">
<option value="en">English</option>
<option value="nl">Dutch\Nederlands</option>
<option value="ru">Russian\Русский</option>
<option value="zh-cn">Simplified Chinese-简体中文</option>
</select>
<input type="submit" value="Go" />
</form>
Rus ve Çinli komut
soru işaretleri olarak gösteriliyorsa - Rus \ ?? ?????, Çince - ????html içinde <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
var, diğer Rusça ve Çince metin (bu formun dışında) iyi görünüyor.
Kendimizi böyle bir sorunla uğraşmadık: şablonda kodlanmış bir bölüm ve hepsi bu. –
Dilleri değiştirmek/ayarlamak ve her bir dil adının olası tüm yerel çevirilerini oluşturmak için tümünü numaralandırmak zorundasınız. İstediğiniz her dil için yerel yazım ile önceden tanımlanmış bir dict ismini gömmek ve şablona aktarmak çok daha kolaydır. – astevanovic