I have a Django web site which I want ot be viewable in different languages. Until this morning everything was working fine. Here is the deal. I go to my say About Us page and it is in English. Below it there is the change language button and when I press it everything "magically" translates to Bulgarian just the way I want it. On the other hand I have a JS menu from which the user is able to browse through the products. I click on 'T-Shirt' then a sub-menu opens bellow the previously pressed containing different categories - Men, Women, Children. The link guides me to a page where the exact clothes I have requested are listed. BUT... When I try to change the language THEN, nothing happens. I go to the Abouts Page, change the language from there, return to the clothes catalog and the language is changed...
I will no paste some code.
This is my change button code:
function changeLanguage() {
    if (getCookie('language') == 'EN') {
        setCookie("language", 'BG');
    } else {
        setCookie("language", 'EN');
    }
    window.location.reload();
}
These are my URL patterns:
urlpatterns = patterns('',
    # Example:
    # (r'^enter_clothing/', include('enter_clothing.foo.urls')),
    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
    # Uncomment the next line to enable the admin:
    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': '/home/boris/Projects/enter_clothing/templates/media', 'show_indexes': True}),
    (r'^$', 'enter_clothing.clothes_app.views.index'),
    (r'^home', 'enter_clothing.clothes_app.views.home'),
    (r'^products', 'enter_clothing.clothes_app.views.products'),
    (r'^orders', 'enter_clothing.clothes_app.views.orders'),
    (r'^aboutUs', 'enter_clothing.clothes_app.views.aboutUs'),
    (r'^contactUs', 'enter_clothing.clothes_app.views.contactUs'),
    (r'^admin/', include(admin.site.urls)),
    (r'^(\w+)/(\w+)/page=(\d+)', 'enter_clothing.clothes_app.views.displayClothes'),
)
My About Us page:
@base
def aboutUs(request):
    return """<b>%s</b>""" % getTranslation("About Us Text", request.COOKIES['language'])
The @base method:
def base(myfunc):
    def inner_func(*args, **kwargs):
        try:
            args[0].COOKIES['language'] 
        except:
            args[0].COOKIES['language'] = 'BG'
        resetGlobalVariables()
        initCollections(args[0])
        categoriesByCollection = dict((collection, getCategoriesFromCollection(args[0], collection)) for collection in collections)   
        if args[0].COOKIES['language'] == 'BG':
            for k, v in categoriesByCollection.iteritems():   
                categoriesByCollection[k] = reduce(lambda a,b: a+b, map(lambda x: """<li><a href="/%s/%s/page=1">%s</a></li>""" % (translateCategory(args[0], x), translateCollection(args[0], k), str(x)), v), "")
        else:
            for k, v in categoriesByCollection.iteritems():   
                categoriesByCollection[k] = reduce(lambda a,b: a+b, map(lambda x: """<li><a href="/%s/%s/page=1">%s</a></li>""" % (str(x), str(k), str(x)), v), "")
        contents = myfunc(*args, **kwargs)
        return render_to_response('index.html', {'title': title, 'categoriesByCollection': categoriesByCollection.iteritems(), 'keys': enumerate(keys), 'values': enumerate(values), 'contents': contents, 'btnHome':getTranslation("Home Button", args[0].COOKIES['language']), 'btnProducts':getTranslation("Products Button", args[0].COOKIES['language']), 'btnOrders':getTranslation("Orders Button", args[0].COOKIES['language']), 'btnAboutUs':getTranslation("About Us Button", args[0].COOKIES['language']), 'btnContacts':getTranslation("Contact Us Button", args[0].COOKIES['language']), 'btnChangeLanguage':getTranslation("Button Change Language", args[0].COOKIES['language'])})
    return inner_func
And the catalog page:
@base
def displayClothes(request, category, collection, page):
    clothesToDisplay = getClothesFromCollectionAndCategory(request, category, collection)
    contents = ""
    pageCount = len(clothesToDisplay) / ( rowCount * columnCount) + 1
    matrixSize = rowCount * columnCount
    currentPage = str(page).replace("page=", "")
    currentPage = int(currentPage)  - 1
    #raise Exception(request)           
    # this is for the clothes layout
    for x in range(currentPage * matrixSize, matrixSize * (currentPage + 1)):
        if x < len(clothesToDisplay):
            if request.COOKIES['language'] == 'EN':
                contents += """<div class="clothes">%s</div>""" % clothesToDisplay[x].getEnglishHTML()
            else:
                contents += """<div class="clothes">%s</div>""" % clothesToDisplay[x].getBulgarianHTML()
            if (x + 1) % columnCount == 0:
                contents += """<div class="clear"></div>"""
    contents += """<div class="clear"></div>"""
    # this is for the page links                
    if pageCount > 1:
        for x in range(0, pageCount):
            if x == currentPage:
                contents += """<a href="/%s/%s/page=%s"><span style="font-size: 20pt; color: black;">%s</span></a>""" % (category, collection, x + 1, x + 1)  
            else:
                contents += """<a href="/%s/%s/page=%s"><span style="font-size: 20pt; color: blue;">%s</span></a>""" % (category, collection, x + 1, x + 1)
    return """%s""" % (contents)
Let me explain that you needn't be alarmed by the large quantities of code I have posted. You don't have to understand it or even look at all of it. I've published it just in case because I really can't understand the origins of the bug.
Now this is how I have narrowed the problem. I am debuging with "raise Exception(request)" every time I want to know what's inside my request object. When I place this in my aboutUs method, the language cookie value changes every time I press the language button. But NOT when I am in the displayClothes method. There the language stays the same. Also I tried putting the exception line in the beginning of the @base method. It turns out the situation there is exactly the same. When I am in my About Us page and click on the button, the language in my request object changes, but when I press the button while in the catalog page it remains unchanged.
That is all I could find, and I have no idea as to how Django distinguishes my pages and in what way. 
P.S. The JavaScript I think works perfectly, I have tested it in multiple ways.
Thank you, I hope some of you will read this enormous post, and don't hesitate to ask for more code excerpts.