Esempio n. 1
0
 def process_request(self, request):
     assert hasattr(request, 'session'), "The DefaultLanguageMiddleware middleware requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'."
     try:
         set_default_language(get_language())
     except LanguageDoesNotExist:
         # Try without the territory suffix
         set_default_language(get_language()[:2])
 def process_request(self, request):
     
     from django.utils import translation
             
     path_tuple = request.path_info.split("/")
     
     if len(path_tuple) > 1:
         
         if path_tuple[1] in settings.NOT_LANG_URLS:
             return
     
         if check_for_language(path_tuple[1]):
             
             lang = path_tuple[1]
             
             if hasattr(request, 'session'):
                 request.session['django_language'] = lang
             
             request.COOKIES['django_language'] = lang
         
             set_default_language(lang)
             request.path_info = "/" + "/".join(path_tuple[2:])                
             return
     
     if hasattr(request, "session") and "django_language" in request.session:
         lang = request.session["django_language"]
     elif hasattr(request, "COOKIE") and "django_language" in request.COOKIE:
         lang = request.COOKIE["django_language"]
     elif check_for_language(get_language_from_request(request)):
         set_default_language(get_language_from_request(request))
         lang = get_language_from_request(request)
     else:
         lang = settings.LANGUAGES[settings.DEFAULT_LANGUAGE][0]
         
     return HttpResponseRedirect('/%s%s' % (lang, request.path_info))
Esempio n. 3
0
 def process_request(self, request):
     assert hasattr(request, 'session'), "The DefaultLanguageMiddleware \
         middleware requires session middleware to be installed. Edit your \
         MIDDLEWARE_CLASSES setting to insert \
         'django.contrib.sessions.middleware.SessionMiddleware'."
     try:
         set_default_language(get_language())
     except LanguageDoesNotExist:
         # Try without the territory suffix
         set_default_language(get_language()[:2])
Esempio n. 4
0
 def process_view(self, request, view, *args, **kwargs):
     #print "we are in the multilingual process_view"
     assert hasattr(request, 'session'), "The DefaultLanguageMiddleware \
         middleware requires session middleware to be installed. Edit your \
         MIDDLEWARE_CLASSES setting to insert \
         'django.contrib.sessions.middleware.SessionMiddleware'."
     try:
         set_default_language(get_language())
     except LanguageDoesNotExist:
         # Try without the territory suffix
         set_default_language(get_language()[:2])
Esempio n. 5
0
def set_lang(request, lang):
    from django.utils.translation import check_for_language, activate, to_locale, get_language
    from settings import LANGUAGES
    from multilingual.languages import set_default_language

    if lang and check_for_language(lang):
        set_default_language(lang)
        if hasattr(request, 'session'):
            request.session['django_language'] = lang
        else:
            response.set_cookie('django_language', lang)
    return HttpResponseRedirect('/')
Esempio n. 6
0
        def testSetTagsForDifferentLanguages(self):
            set_default_language('en')
            self.assertEqual('en', get_default_language_code())

            en_name = u'apple'
            ru_name = u'яблоко'

            t = Tag.objects.create(name = en_name, name_ru = ru_name)
            self.assertEqual(en_name, t.name)
            self.assertEqual(ru_name, t.name_ru)

            set_default_language('ru')
            self.assertEqual(ru_name, t.name)
            self.assertEqual(en_name, t.name_en)
Esempio n. 7
0
        def testFalbackToDefaultLanguage(self):
            set_default_language(settings.DEFAULT_LANGUAGE)

            default_name = u'apple'

            t = Tag.objects.create(name = default_name)
            self.assertEqual(default_name, t.name)
            self.assertEqual(default_name, t.name_en)
            self.assertEqual(None,         t.name_ru)

            set_default_language('ru')
            t = Tag.objects.get(id = t.id)
            self.assertEqual(default_name, t.name)
            self.assertEqual(default_name, t.name_en)
            self.assertEqual(None,         t.name_ru)
Esempio n. 8
0
    def test_09_values(self):
        titles = [{'title': 'MLFP-Title1-en'}, {'title': None}]
        titles_en = [{'title_en': 'MLFP-Title1-en'}, {'title_en': None}]
        full = [
            {'id': 1, 'title': 'MLFP-Title1-en', 'content': 'MLFP-Content1-en'}, 
            {'id': 2, 'title': None, 'content': None}
        ]
        full_en = [
            {'id': 1, 'title_en': 'MLFP-Title1-en', 'content_en': 'MLFP-Content1-en'}, 
            {'id': 2, 'title_en': None, 'content_en': None}
        ]
        titles_list = ['MLFP-Title1-en', None]

        languages.set_default_language('en')
        self.assertEqual(list(MultilingualFlatPage.objects.values('title')), titles)
        self.assertEqual(list(MultilingualFlatPage.objects.values('id', 'title', 'content')), full)
        self.assertEqual(list(MultilingualFlatPage.objects.values_list('title', flat=True)), titles_list)

        languages.set_default_language('ja')
        # now select specific language
        self.assertEqual(list(MultilingualFlatPage.objects.values('title_en')), titles_en)
        self.assertEqual(list(MultilingualFlatPage.objects.values('id', 'title_en', 'content_en')), full_en)
        self.assertEqual(list(MultilingualFlatPage.objects.values_list('title_en', flat=True)), titles_list)
    def testDumpTagsAsText(self):
        set_default_language('en')

        hello = Tag.objects.create(name='hello')
        syn = Synonym.objects.create(name='aloha', tag=hello)

        self.first.tags = 'hello, world'
        self.second.tags = 'aloha'
        self.saveAll()

        self.assertEquals( \
u'''hello == aloha
hello; en: hello
world; en: world''', Tag.objects.dumpAsText())

        hello.name_ru = u'Привет'
        hello.name_en = u'Hello'
        hello.save()

        self.assertEquals( \
u'''Hello == aloha
Hello; en: Hello; ru: Привет
world; en: world''', Tag.objects.dumpAsText())
Esempio n. 10
0
    def testDumpTagsAsText(self):
        set_default_language('en')

        hello = Tag.objects.create(name='hello')
        syn = Synonym.objects.create(name='aloha', tag=hello)

        self.first.tags = 'hello, world'
        self.second.tags = 'aloha'
        self.saveAll()

        self.assertEquals( \
u'''hello == aloha
hello; en: hello
world; en: world''', Tag.objects.dumpAsText())

        hello.name_ru = u'Привет'
        hello.name_en = u'Hello'
        hello.save()

        self.assertEquals( \
u'''Hello == aloha
Hello; en: Hello; ru: Привет
world; en: world''', Tag.objects.dumpAsText())
Esempio n. 11
0
    def process_request(self, request):

        from django.utils import translation

        path_tuple = request.path_info.split("/")

        if len(path_tuple) > 1:

            if path_tuple[1] in settings.NOT_LANG_URLS:
                return

            if check_for_language(path_tuple[1]):

                lang = path_tuple[1]

                if hasattr(request, 'session'):
                    request.session['django_language'] = lang

                request.COOKIES['django_language'] = lang

                set_default_language(lang)
                request.path_info = "/" + "/".join(path_tuple[2:])
                return

        if hasattr(request,
                   "session") and "django_language" in request.session:
            lang = request.session["django_language"]
        elif hasattr(request,
                     "COOKIE") and "django_language" in request.COOKIE:
            lang = request.COOKIE["django_language"]
        elif check_for_language(get_language_from_request(request)):
            set_default_language(get_language_from_request(request))
            lang = get_language_from_request(request)
        else:
            lang = settings.LANGUAGES[settings.DEFAULT_LANGUAGE][0]

        return HttpResponseRedirect('/%s%s' % (lang, request.path_info))
Esempio n. 12
0
 def test_05_default_language(self):
     self.assertEqual(languages.get_default_language(), 'en')
     languages.set_default_language('ja')
     self.assertEqual(languages.get_default_language(), 'ja')
Esempio n. 13
0
 def test_05_default_language(self):
     self.assertEqual(languages.get_default_language(), 'en')
     languages.set_default_language('ja')
     self.assertEqual(languages.get_default_language(), 'ja')