Added language switcher and fixed main link

This commit is contained in:
Felipe Martín 2015-09-07 21:20:39 +02:00
parent 5ff3bce5e2
commit 23c3405a00
5 changed files with 32 additions and 14 deletions

View File

@ -18,3 +18,18 @@ def files(request):
'MEDIA_URL': settings.MEDIA_URL,
'STATIC_URL': settings.STATIC_URL,
}
def i18n(request):
result = []
for lang_code, name in settings.LANGUAGES:
this = {
'code': lang_code,
'name': name,
'url': request.path.replace(request.LANGUAGE_CODE, lang_code)
}
result.append(this)
return {
'LANGUAGES': result
}

View File

@ -9,5 +9,5 @@ from .views import HomeView
urlpatterns = patterns(
'',
url(r'^$', HomeView.as_view()),
url(r'^$', HomeView.as_view(), name='redirect'),
)

View File

@ -95,6 +95,7 @@ TEMPLATES = [
'amiibofindr.apps.amiibo.context_processors.currencies',
'amiibofindr.apps.core.context_processors.debug',
'amiibofindr.apps.core.context_processors.files',
'amiibofindr.apps.core.context_processors.i18n',
],
},
},

View File

@ -1,6 +1,8 @@
{% load static i18n account %}
{% user_display user as user_display %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as languages %}
{% trans 'all' as all_word %}
<!DOCTYPE html>
<html>
@ -29,12 +31,12 @@
<div class="ui page grid">
<div class="computer tablet only row">
<div class="ui large menu navbar">
<a href="/" class="brand item">Amiibofindr</a>
<a href="{% url 'home:redirect' %}" class="brand item">Amiibofindr</a>
<div class="ui dropdown item">
{% trans "Figures" %}
<i class="dropdown icon"></i>
<div class="menu">
<a class="item" href="/">{% trans "All" %}</a>
<a class="item" href="{% url 'amiibo:collection' all_word %}">{% trans "All" %}</a>
<div class="ui divider"></div>
{% for col in COLLECTIONS_FIGURES %}
<a class="item" href="{{ col.get_absolute_url }}">{{ col.name }}</a>
@ -90,7 +92,7 @@
<div class="ui item">
<div class="text">{% trans 'Figures' %}</div>
<div class="menu">
<a class="item" href="/">{% trans "All" %}</a>
<a class="item" href="{% url 'amiibo:collection' all_word %}">{% trans "All" %}</a>
<div class="ui divider"></div>
{% for col in COLLECTIONS_FIGURES %}
<a class="item" href="{{ col.get_absolute_url }}">{{ col.name }}</a>
@ -144,15 +146,14 @@
<div class="four wide column left aligned">
<h4>{% trans "Language" %}</h4>
{% get_available_languages as languages %}
<div class="ui link list">
{% for lang_code, lang_name in languages %}
{% language lang_code %}
<a class="item {% if lang_code == LANGUAGE_CODE %}active{% endif %}" href="#">{{ lang_name }}</a>
{% endlanguage %}
{% endfor %}
</div>
<div class="ui link list">
{% for language in LANGUAGES %}
{% language language.code %}
<a class="item {% if language.code == LANGUAGE_CODE %}active{% endif %}"
href="{{ language.url }}">{{ language.name }}</a>
{% endlanguage %}
{% endfor %}
</div>
</div>
<div class="four wide column left aligned"></div>
<div class="four wide column left aligned">

View File

@ -20,6 +20,7 @@ from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls.i18n import i18n_patterns
from django.utils.translation import ugettext_lazy as _
handler404 = 'amiibofindr.apps.core.views.error404'
@ -32,7 +33,7 @@ urlpatterns = patterns(
)
urlpatterns += i18n_patterns(
url(r'^account/', include('allauth.urls')),
url(_(r'^account/'), include('allauth.urls')),
url(r'^', include('amiibofindr.apps.amiibo.urls', namespace='amiibo')),
url(r'^', include('amiibofindr.apps.home.urls', namespace='home')),
)